应该说,现在是国产分布式数据库发展的利好时期。在讨论发展前景前,首先要先看看分布式数据库的发展方向。
大家把传统关系型数据库称作oldSQL,给人感觉要被淘汰似的。但其实数据量不是很大或者事务处理的场景夏,关系型数据库的还是占优的。
关系型数据库的主要问题在于:
性能瓶颈,
单一模型(关系模型),只适合OLTP
应对业务的灵活性不够,
d性扩充能力不够,
两地三中心和双活等问题上不足。
随着互联网和手机的飞速发展,无论从用户规模、使用频率、还是场景多样性都使得这些问题浮出水面。其实Oracle在92年就开始尝试转向分布式,还当时引起了业界的巨大争论,最后失败。更何况过去CPU、内存、存储、带宽的高成本导致分布式数据库的性价比并不高,只能停留在学术阶段,限制了分布式的发展。
新分布式数据库首先是要避免和传统关系型数据库的竞争,这是明智的选择,能够轻装上阵。因此从几个方面入手,应对海量数据处理、分析、缓存、流式处理、开发模式等等。相对应列式,KV,Document等多种存储数据结构。
所有这些都被称为NoSQL数据库,放弃ACID和事务能力还换取性能。然而,NoSQL又收到了大量的批评反对意见,主要是说把数据库应该处理的问题交还给了开发是种发展的倒退。这些问题包括,索引、版本、SQL支持、事务支持等等。市场上超过90%的开发员都需要SQL,而且SQL也是非常有效和成熟。于是大家无论底层是什么存储结构又开始支持SQL,形成了NewSQL。
这里插一句题外话,在硅谷已经不再用SQL、NoSQL、NewSQL来划分数据库了。理由很简单,SQL是一种语言,从来没有SQL数据库的说法,自然也不应该有NoSQL数据库的说法。NewSQL数据库就更不合理,用的SQL并非什么“New“的新东西。所以专业上用关系型和非关系型数据库来划分,分布式数据库主要都是非关系型数据库。
回过头来看国内分布式数据库市场需求,中小企业不满足Mysql的性能,分库分表又很难搞,也不彻底;大型企业被Oracle等垄断支付高额成本,而且又不解决实际碰到的瓶颈问题。因此,用户都在寻找新的解决方案。小型用户、云计算的用户、大型企业都需要对应的分布式数据库产品。
再加上国产自主和去IOE浪潮,更加推动了国产分布式数据库的发展利好。值得注意的是,数据库研发是个严肃的事情,没法短平快。
序数据库英文全称为Time Series Database,简称TSDB,是以时间为索引的规律性时间间隔记录的数据库。时序数据库采用特殊数据存储方式,极大提高了时间相关数据的处理能力,相对于关系型数据库它的存储空间减半,查询速度极大的提高。
一、时序数据库是什么
时序数据库全称为时间序列数据库。时间序列数据库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
时间序列数据主要由电力行业、化工行业、气象行业、地理信息等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。

二、时序数据库的特点
1、有效处理庞大数据。
2、对重复的部分,Informix TimeSeries只保持一份数据。
3、节省空间50%,有效降低I/O。
4、主键索引更有效。
5、时间序列表头分离的特性不浪费空间。
三、时序数据库和关系型数据库的区别
1、数据压缩情况
关系型数据库将它们的数据按行存储在磁盘上,不同的数据类型彼此相邻,这限制了可以使用什么类型的压缩算法以及可以压缩多少数据。
而时序数据库通常以相同类型的数据点彼此相邻的方式存储数据,这样的话可以使用最佳压缩算法,大大节省了存储成本。
2、数据库架构
关系型数据库底层是定义好模式的,所以对于表本身,不管是修改还是删除某一列,都会影响到数据库的模式,在底层相当于要进行”数据库迁移“。
而时序数据库往往是无模式的,允许快速轻松地添加新字段。
3、可用性和冗余
关系型数据库可以通过集群存储的方式提供高可用性,但它们容易受到网络可用性的影响,如果连接断开,数据收集将停止。
而时序数据库通过收集器的冗余可以确保良好的可用性,时序数据库一般带有存储转发技术,如果发生中断,该技术会在收集器处缓冲数据,当服务器自动重连时,缓冲区最终会同步上传,确保不会丢失数据。
4、数据安全
数据库被黑客和病毒攻击的事件频繁发生,中q的大多数是知名的关系数据库,常见的攻击比如有:SQL注入。
而时序数据库一般不允许通过标准接口插入、更新或删除数据,此外,时序数据库会跟踪所有更改,包括使用访问、配置、安全违规和系统警报。
关系型数据库不能处理表间的多对多关系。
在关系数据库系统中的数据组织可以很方便的实现一对多、多对一、一对一等多种关系,但难于实现多对多关系,如果要实现多对多的关系可以使用经典的E-R模型进行适当的变化,将其变为一对多数据模型。然后根据这一模型来用关系数据库系统实现数据的多对多关系的数据组织。
常用的三种关系型数据库如下:
1、Oracle数据库是由甲骨文公司开发,并于1989年正式进入中国市场。虽然当时的Oracle尚名不见经传,通过多年的发展积聚了众多领先性的数据库系统开发经验,在集群技术、高可用性、安全性、系统管理等方面都取得了较好的成绩。
Oracle产品除了数据库系统外,还有应用系统、开发工具等。在数据库可 *** 作平台上,Oracle可在所有主流平台上运行,因而可通过运行于较高稳定性的 *** 作系统平台,提高整个数据库系统的稳定性。
2、MySQL数据库是一种开放源代码的关系型数据库管理系统(RDBMS),可以使用最常用结构化查询语言进行数据库 *** 作。也因为其开源的特性,可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL数据库因其体积小、速度快、总体拥有成本低而受到中小企业的热捧,虽然其功能的多样性和性能的稳定性差强人意,但是在不需要大规模事务化处理的情况下,MySQL也是管理数据内容的好选择之一。
3、Microsoft SQL Server数据库最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个 *** 作系统版本。
在Windows NT推出后,Microsoft将SQL Server移植到Windows NT系统上,因而SQL Server数据库伴随着Windows *** 作系统发展壮大,其用户界面的友好和部署的简捷,都与其运行平台息息相关,通过不断推广,SQL Server数据库的占有率随着Windows *** 作系统的推广不断攀升。
以上就是关于国内做分布式数据库开发的现状如何全部的内容,包括:国内做分布式数据库开发的现状如何、时序数据库和结构化的关系、关系型数据库不能处理表间的什么关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)