我们维护一个免费或分配给主机的所有SAN交换机端口的列表.目前,我们在公司门户网站上输入信息.但是我们需要移动到数据库,因为到目前为止我们有大约2200行数据,每行有10列.我将数据提取到excel表后得到了数字.我期待在几个月内增加至少1000行.
我们所有的SAN Mgmt服务器都是Windows 2003,但它们都没有安装MS Office,因此无法使用MS Excel.因此需要一个开源数据库.
我试过MySQL和Postgresql.我发现MysqL更容易处理,但我已经读过数据可靠性明智的Postgresql更好.我尝试了两个数据库几天,导入了CSV文件,因为与手动输入2200个条目相比,这更容易. MysqL和Postgresql似乎都做得很好.虽然,我不得不编辑CSV文件,因为字段分隔符“,”在单元格的某些位置使用,这使得它破坏并扭曲了MysqL中的条目. Postgresql没有任何麻烦.
向经验丰富的数据库管理员提出的请求 – 请告诉我,对于我的需求,MysqL是否足够? MysqL存在数据损坏的可能性吗?或者现在转移到Postgresql会更好吗?
对于不使用数据库特定术语我表示歉意,因为我不是来自数据库背景.
请告诉我.
解决方法:
与MysqL相比,Postgresql具有更多现代sql功能.
其中一些功能您可能现在不需要,但是一旦您的应用程序增长并且您的需求变得更加复杂,您将会非常想念它们.这里只是一些:
>没有检查限制
>没有可延迟的约束
>没有窗口功能
>没有常见的表表达式
>没有递归查询(想想分层数据)
>非交易性FK评估
>没有表功能
>没有基于功能的索引
>没有部分索引
>没有对事务表进行全文搜索
>事务表上没有GIS功能
>不完整的触发器实现
两者的性能都差不多(特别是对于这么小的数据集).我不希望看到两者与您的数据有任何区别.
如果数据库大小增加,Postgresql似乎能够更好地处理大量的并发读写访问,而MysqL有一些在Postgresql中尚未提供的读取优化(如仅索引扫描),这往往会使MysqL表现更好在严重的只读情况下.但是,每个工作量都是不同的,通常说“一个比另一个快”基本上是不可能的.
如果你选择MysqL,请确保从一开始就以ANSI和严格模式运行它,以摆脱默认安装保留的一些问题(例如,默默地截断数据或接受2月31日作为有效日期).
(您可能还想在这里查看ypercube的评论:https://stackoverflow.com/questions/9963012/what-does-the-sql-standard-say-about-dependent-conditionals-in-update/9963473#9963473以了解我对“陷阱”的意思)
这篇博文还列出了一些关于Postgresql的非常好的东西(与sql Server相比):
http://facility9.com/2011/12/ten-reasons-postgresql-is-better-than-sql-server/