数据库

仅仅分析“慢SQL”可能也不大够用,因为有很多问题并不是“慢SQL”引发的,一条平时执行时间10毫秒的SQL,突变为50毫秒也可能引发一场系统大灾难。而把“慢SQL”的门槛设定在50毫秒肯定是不合理的。
目前我们的大多数国产数据库缺乏长时间的存在,更谈不上长时间的积累了。因此他们总是希望点开一棵新的科技树,从而获得成功。不过点科技树这个事情,总是没那么稳妥的,一旦点错了科技树,一条道走下去,不见得就能够成功。奉行长期主义,做好长期和用户在场景上不断地磨合,才有可能走向成功。
本文介绍了不同类型的数据库以及它们的使用场景。关系型数据库适用于需要事务处理和复杂查询的应用,而非关系型数据库适用于大规模、高并发的数据处理。特定场景下的数据库针对特定的数据结构或查询需求进行了优化,包括搜索引擎数据库、文档数据库、时序数据库、向量数据库、空间数据库、图形数据库、列式数据库和多模数据库等。
对于最终用户来说,数据库就像个黑匣子。大家对它的印象也许只有是存放数据的地方而已。甚至一般的开发者都不怎么关心数据库,因为有专门的数据库管理员去折腾这件事。但是,数据库是应用的支柱,对数据库越了解,越有利于用好数据库,写出好应用,以及在出问题的时候把问题搞定。
是从企业资产规模来说。数据库作为一款基础软件,是需要很大投入的。这方面部分大厂或云厂商是很有优势的,借助内部输血可以长期持续发展。对于初创型公司,相对压力会大些,一般是通过融资方式解决,近两年也看到不少好的数据库项目拿到了投资、甚至走向海外。从用户来讲,最为关心的是可持续性,因此很关注这一指标。
对于数据库来说,高可用性意味着在任何情况下都能够提供数据服务,并且数据不会丢失或损坏。数据库的高可用性对于企业来说至关重要,因为一旦数据库出现故障或数据丢失,可能会导致业务中断、客户流失、法律风险、品牌损害等严重后果。
因为缺少对数据库原理的深度描述,因此这时候最好的学习就是实战,你的测试环境已经不够用了,最好能够有份这方面的工作来进一步提高自己。在网上找一些这方面的案例的文章是一种学习方法,不过千万要擦亮眼睛,防止被错误的文章误导了,看文章时要留个心眼。
因为绝对的可用性是不存在的,现实世界中的数据库安全是投资与可用性之间的游戏。单一数据库存在单点故障,那么主备机同时故障的可能性就不存在了吗?当然存在,只是概率低了一点而已。我在十多年前就遇到过客户主数据库、ADG备库、磁带备份三大保障措施同时失效的悲剧,这种低概率事件落到你头上就是100%。
做数据库替代,兼容性分析是其中的第一个步骤,很多用户这一步没有认真做,真正开始做数据库替代的时候就会遇到一个一个的坑,填起来相当累。如果应用系统是重新构建,或者有足够的经费进行应用重构,那么兼容性问题不算个大问题,如果你想省点钱,那么兼容性分析还是要做得周到一些比较好。
加载更多