企业级数据库技术的9大趋势
所有数据库始终围绕坚如磐石的可靠性。数据输入然后以完全相同的方式输出。有时,这些位会被清理和规范化,因此所有日期都使用相同的格式,文本使用相同的字符集,但除此之外,没有什么不同。
这种一致性使数据库对于任何企业都是必不可少的-使其能够进行电子商务交易之类的事情。这也是为什么数据库与数据仓库保持不同的原因,这是另一项技术,正在扩展其任务,以应对分析速度较慢的事物。数据库是企业不可否认的记录,是真实的唯一来源。
现在数据库正在改变。他们的工作重点正在转移,他们正在承担更多的责任并提供更明智的答案。简而言之,它们正在扩展并接管越来越多的堆栈。
我们中的许多人可能不会注意到,因为我们多年来一直在运行相同的数据库而没有进行任何更改。为什么要搞乱什么?但是随着新选项和功能的出现,重新考虑数据流的体系结构并利用所有新选项是有意义的。是的,数据仍将按预期返回,但将保持更安全并以更易于使用的方式显示。
推动数据库变革的许多因素是围绕革命性新产品构建的初创公司,例如多云扩展或区块链保证。对于每种新的信息存储方法,通常会有数家资金雄厚的初创公司争夺空间,而其他几家仍处于隐身模式。
大型公司通常并不落后。虽然可能需要更多时间在现有产品上添加功能,但是大公司正在寻找扩展方式,有时是通过修改旧产品或在自己的skunkworks中创建新产品来实现的。例如,亚马逊是推出新数据存储方式的大师。它的云至少有11种不同的产品,称为数据库,并且不包括平面文件选项。
其他主要的云提供商也不甘落后。微软已经将其坚定的SQL Server迁移到Azure,并找到了提供六种开源竞争对手(例如MySQL)的方法。Google提供了关系数据库的托管版本以及NoSQL键/值对的大型分布式和复制版本。
旧标准还增加了新功能,这些新功能通常会提供与初创企业相同的承诺,同时继续支持旧版本。例如,甲骨文一直在提供其云版本的数据库,同时增加了新的查询格式(JSON)和更好的性能来处理不断涌入的传入数据。
IBM还将dB2迁移到云中,同时增加了新功能,例如与分析数据的人工智能算法集成。它还支持主要的开放源代码关系数据库,同时构建了将Oracle兼容性与PostgreSQL引擎合并的混合版本。
在对旧数据库标准和新出现的参与者进行无数更改的过程中,这里(无特定顺序)是重生数据库的九种关键方法。
1.更好的查询语言
传统的SQL语句会继续在世界范围内进行繁重的工作。但是,诸如GraphQL之类的新查询选项使前端开发人员更容易找到需要呈现给用户的数据,并以可以直接放入用户界面的格式接收数据。
类似GraphQL这样遵循用于序列化对象的标准JavaScript格式,从而使中端和前端代码更易于解析它。它还隐藏了JOIN的某些复杂性,使最终用户更轻松地仅捕获他们需要的数据。开发人员已经在添加诸如Apollo Studio(一种用于查询查询的IDE)或Hasura(一种将GraphQL围绕PostgreSQL之类的旧数据库包装)的开源前端之类的工具。
2.流式数据库跟随着巨大的流量
标准数据库的模型是一个很大的分类帐,就像档案员将在庞大的档案中维护的分类目录一样。像ksqlDB这样的流数据库被构建为监视无尽的数据事件流并回答有关它们的问题。流数据库没有想象数据是一个永久表,而是在数据流过它们时拥有不断变化的可能性。
3.时间序列数据库
大多数数据库列都有用于跟踪日期戳的特殊格式。诸如InfluxDB或Prometheus之类的时间序列数据库所做的不只是存储时间。他们跟踪和索引数据以进行快速查询,例如用户在1月15日至3月12日之间登录了多少次。这通常是流数据库的特殊情况,其中流中的数据随时间变化而被跟踪和索引。
4.同态加密
密码学家曾经很乐意将数据锁定在一个保险箱中。现在,有些人正在开发一种称为同态加密的技术,它可以对加密的数据做出决策并回答查询,而无需实际对其进行解密,该功能极大地简化了云安全性和数据共享。这使计算机和数据分析人员可以在不知道数据内容的情况下使用数据。这些方法远非全面,但是像IBM这样的公司已经在提供可以回答一些有用的数据库查询的工具包。
‘同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的’
5.内存型数据库
数据库的最初目标是组织数据,以便将来即使停电也可以使用。麻烦在于,有时甚至将数据存储到永久性磁盘上也要花费太多时间,这可能不值得花精力。某些应用程序可以承受偶尔的数据丢失(如果某些社交媒体消失了,世界末日会消失吗?),而快速性能比灾难恢复更重要。因此,像Amazon的ElasticCache这样的内存数据库是为那些希望以持久性换来闪电般快速响应时间的应用程序而设计的。
6.微服务引擎
传统形式开发人员将代码构建为位于数据库本身外部的单独层,并且此代码将数据库视为黑匣子。但是有些人注意到数据库功能如此丰富,它们可以自己充当微服务引擎。例如,PostgreSQL现在允许嵌入式过程提交完整的事务并启动新事务,然后再以JSON吐出答案。开发人员已经意识到,多年来作为Oracle等数据库一部分的嵌入式代码可能足以构建当今的架构师所想象的许多微服务。
Jupyter笔记本最初是数据科学家将其答案与产生它的Python代码捆绑在一起的一种方式。然后,数据科学家开始将数据访问与笔记本集成在一起,这意味着将信息存储在哪里:数据库。如今,SQL易于集成,并且用户对使用笔记本访问数据库并生成与数据科学(Julia或R)和机器学习工具集成的智能报告的习惯已变得越来越舒适。较新的Jupyter实验室接口转向经典的笔记本电脑变成一个全方位服务的IDE,完整的扩展是拉的数据 直接从SQL数据库。
7.图形数据库
人与物之间的连接网络是Internet上主要的数据类型之一,因此数据库的发展使其存储和分析这些关系变得更加容易也就不足为奇了。
Neo4j现在提供可视化工具(Bloom)和一系列数据科学功能,用于开发有关网络的复杂报告。GraphDB致力于开发使用自然语言捕获大型分析项目的语言结构的“语义图”。TerminusDB旨在使用与Git类似的版本控制系统来创建知识图。所有这些都为存储一组不能整齐地放入标准表中的复杂关系带来了效率。
8.将数据存储与传输合并
数据库曾经是隐藏的存储库,以确保后台的数据安全。将这些信息传递给用户是其他代码的工作。现在,诸如Firebase之类的数据库将用户的手机或笔记本电脑视为复制数据的另一个位置。
像FaunaDB这样的数据库正在将复制烘焙到堆栈中,从而节省了DBA避免移动这些位。现在,开发人员无需考虑将信息提供给用户。他们只需要从本地数据存储中读取和写入数据,就可以假定数据库将处理在网络上封送字节时保持一致的肮脏细节。
9.无处不在的数据
多年前,所有主流浏览器都开始支持本地存储和索引存储API,从而使Web应用程序更容易在客户端计算机上存储大量数据。早期的实现将数据限制为5MB,但有些将限制提高到了10MB。响应时间快得多,即使Internet连接断开,它也将起作用。数据库不仅在数据中心的一个盒子上运行,而且还在运行代码的每台客户端计算机上运行。
第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom
除非注明,本站文章均为原创或编译,未经许可严禁转载。
相关文章: