MySQL、SqlServer、Oracle 三种数据库的优缺点总结?

老实说,我已经在项目中使用过这三个数据库,每个数据库都有自己的氛围。
MySQL的出身是草根,但现在已经可以玩得很拼了。
我记得当我为一个初创团队构建系统时,我直接连接到MySQL。
该软件包仅占用几十MB,并且启动速度非常快。
他们正在构建一个电子商务系统,并发性不是很好。
但每当有活动发生,参观人数就会突然增加。
MySQL 可以毫无问题地处理这个问题。
这是由于其灵活的权限系统。
我在调整权限的时候总是要摆弄好久,但其实我可以根据需要来控制,非常方便。

我对SqlServer接触不多,但是我的伙伴却经常使用它。
您的系统是Windows环境。
在构建数据仓库时,SQL Server可以直接将数据导入到数据仓库中进行分析,非常方便。
但当他们想做跨平台迁移时,却发现Windows Server上的东西根本无法在Linux上运行,这让我很惊讶。
他们抱怨安全性没有经过认证,但在企业级应用中实际使用并没有出现安全问题。
这可能要看具体场景,但也不是绝对不可能。

Oracle是一家大公司,但我几乎没有接触过它的团队。
有一次我去一家大工厂进行通讯,他们的一些 DBA 正在服务器上走来走去讨论内存分配。
后来我了解到Oracle对硬件的要求非常高,他们的集群配置几乎超出了他们的IT预算。
另一方面,它们处理全球分布式系统。
Oracle 的可扩展性和并发性确实是无与伦比的。
添加多个节点可以使计算能力加倍。
但老实说,光是看看这个管理和维护流程就让我头疼。

对我来说最大的问题是MySQL的热备份问题。
有一次,系统在半夜触发了警报。
检查了半天,发现备份不行。
当恢复关闭后,用户投诉数量铺天盖地。
虽然Oracle价格昂贵得可怕,但至少可以保证业务运营不中断。
至于SqlServer,我在接触的例子中并没有看到什么重大的性能瓶颈,但是封闭的Windows环境让人有点不靠谱。

有趣的是,现在很多新项目都直接连接到云数据库,比如阿里云的RDS,可以让环境在几分钟内搭建完成,省去了很多后顾之忧。
对于这三种传统数据库,可能还是要看具体的需求。
对于小团队来说MySQL就足够了,但是大公司可以使用Oracle进行分布式数据库开发。
SqlServer适合Windows生态,但跨平台迁移是个大问题。
说白了,选择数据库就像选择女人。
这取决于相貌、性格、家庭背景以及你们是否合得来。

mpp数据库的优缺点分别有哪些?

前几天在地铁上,我看到旁边的人用平板电脑扫描股票图表。
速度太慢了,就像按下了减速按钮一样。
我想,如果这个数据能快点公布出来就好了。

这就是 MPP 数据库的作用。
我以前用过Greenplum。
该公司有一个包含数百 TB 销售数据的项目,运行年度报告对于一台机器来说太多了。
分成几十个节点,半小时出结果。
当时我就觉得这个技术真是解渴了。

但是后来接触Vertica后,我发现扩容是一件很麻烦的事情。
添加机器时,还必须添加存储和计算。
这就像给大象穿上裤子。
如果出现任何问题,一切都会变得混乱。
有一次,为了赶季度财报,半夜把运维节点吵醒了。
结果半夜存储同步就延迟了,第二天还被老板骂了。

等等,还有一件事。
Vertica 的元数据存储一直存在问题。
数据位于每个节点上,但元数据集中在一个地方。
如果该位置发生故障,整个集群将部分瘫痪。
我们花了好几次才学会如何分布式存储元数据。

Vertica非常昂贵。
刀片服务器和硬盘阵列的总成本可能是两三百万元。
至于运维,就不用说了,有很多朋友围绕着集群工作,每天查看日志,我们来调整一下参数。
突然我想,这个价格可以购买多少个云服务呢?
最好将 MPP 保留在云端。
PieCloudDB就是这个想法。
它将计算和存储分开。
如果要加CPU就加CPU,如果要加硬盘就加硬盘。
我们进行了尝试,运行机器学习模型并根据需要添加资源。
成本比Vertica低很多,而且启动只需几秒。

但是,eMPP架构真的能解决所有问题吗?存储和计算完全分离会带来新的同步延迟吗?比如计算节点需要数据,存储节点在那里“钓鱼”,会不会又延迟了?你真的必须跑去了解它。

SQL、Oracle、Access的区别、适用范围和优缺点

SQL Server和Oracle比较专业,适合大型企业,维护成本较高。
Oracle很复杂,大公司选择它。
中小型企业选择 SQL Server 是因为它易于使用。
访问简单,适合个人和小型企业。
您可以根据自己的业务量、权衡成本和复杂性来决定使用哪一种。