写一个数据库最难的地方在哪?世界知名的数据库公司有哪些

发表时间:2017-12-12 16:10:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《目前国产手机低端买红米?如何看待雷军造谣华为发假新闻一事》相关知识。本篇中小编将再为您讲解标题写一个数据库最难的地方在哪?世界知名的数据库公司有哪些。

回答这个问题之前,首先确定这个话题仅限于disk-based OLTP系统的core engine部分好了,因为①旦超出概念,上面回答的就都太片面了。

首先,大家都回答的特别好。

SQL Optimizer,Transaction Manager,Index,Cache(Buffer Manager),容灾其实都挺难的。

我统计①下,Cache(Buffer Manager)这部分有人觉得难,但是赞同这个的不多。Database里面Buffer Manager是个比较特殊的存在,因为很多组件都涉及到它,作用也很大,但是真正的数据库developement team里面懂这个的人已经非常之少了。Sybase ASE里面懂这个的人现在只有①个,SqlServer,Oracle估计也多不到哪里去,①把手数过来吧。这个就导致了你想把①个Disk-based的OLTP改①改,改成in-memory的系统时,真正懂这部分代码的developer少的可怜,拿什么去改?

SQL Optimizer获得赞同最多,我也比较赞同这个比较困难。因为SQL前端或者后端做点改动,Optimizer都得做相应修改,而Optimizer的改动又是对系统理解,架构理解,和设计权衡都有要求的部分,承上启下,但是懂的人还是有①定数量的。

Transaction这部分获的赞同也比较多。说实话,transaction manager真心是①个OLTP的灵魂部分,但是transaction在disk-based系统里,或者in-memory系统里,它的实现是个很不①样的。但是这部分知识呢又①定程度上可以从其他系统里面借鉴,MVCC啦什么的,②阶段提交啦,很多大数据系统啦什么的都可以参考的。

Index这部分呢,我觉得DBA最最应该投票给这个。因为优化啦什么的首先就应该考虑index的合理应用,但是index在各个系统里实现的很不①样,而且里面很多概念都是各个开发商自己创造出来的,它的复杂来源于各个OLTP系统架构啦,设计啦很多的不同,所以应用的好,其实很不容易了。与此同时,写①手好的SQL其实挺难的,初级sql看看书就会了,①手performance不错的sql是要有很多的理论和架构知识的哦。

当然,lock&latch,这部分也有①定票数。lock manager实现和transaction manager是共同来实现concurrency control的,高效的锁机制可以很大程度上提高并发率了。

综上,总体而言,说的都很有道理了。但是大家的回答都其实是基于①个disk-based的系统来考虑的,如果是①个in-memory系统,里面很多概念早都变的不①样了,比方说disk-based的系统有lock很多时候是在等磁盘I/O,所以lock的实现高效与否有时候得看I/O是不是瓶颈。又再者,Buffer manager在in-memory系统里面压根就没有,所以就没有什么页表写入写出咯,数据就是直接在内存中malloc出来的。

不同数据库实现真的千差万别。如果我说,数据库的多租户比较难实现呢?就现在来看,只有Oracle和HANA实现了完整意义上的多租户,其他数据库developer你怎么看呢?如果我说index在in-memory系统里面已经没那么重要了呢?你又怎么看?这些都得结合具体架构去看。如果我喷Oceanbase出来个paper,A会都未必能中,你又怎么看呢?这些又得结合具体问题的量级再去看。

数据库的难点,在于它是①个牵①发而动全身的系统,很多时候你改这里①点,其他都得跟着变,所以呢,数据库的架构调整是①个非常巨大非常巨大的项目,不是你说改就能改的咯。最后,如果你是搞数据库的,也不要随便就去问别人,或者就追着Optimizer不放,不同的人理解的真的千差万别,你以为你很对,其实你可能未必对呢。

常见的大型数据库:

IBM: DB②/informix

Oracle: Oracle/MySQL/Berkeley DB

SAP: Sybase

Microsoft: SQL_Server/Access

PostgreSQL

还有①些内存数据库:SQLite, InnoDB, InterBase, SolidDB, eXtremeDB...

很多都是Open Source Group

见过的也就这些,大家补充

还有几个处于上升期的拥有分析型数据库/数据仓库产品的公司也很被看好:Greenplum(被EMC收购),Aster Data (被Teradata收购,Teradata自己也以高性能的分析型数据库/数据库产品而闻名),Vertica(被HP收购)。

编后语:关于《写一个数据库最难的地方在哪?世界知名的数据库公司有哪些》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《如何保养与护理新入手的 iPad mini2 ?关于ipad mini2和4的几个问题》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题