请求在 MySQL 和 Postgresql 之间建立数据库的建议

pri*_*kar 2 mysql postgresql

我们维护着所有空闲或分配给主机的 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 会更好吗?

我很抱歉在这里没有使用特定于数据库的术语,因为我不是来自数据库背景。

请告诉我。

a_h*_*ame 5

与 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/