分布式数据库是做什么的?

有哪些厂商推荐

第1个回答  2021-01-04

第2个回答  2020-06-15
随着互联网的飞速发展,人类社会的数据量迅速激增,据统计目前人类一年产生的数据就相当于人类进入现代化以前所有历史的总和,而且互联网业务的发展通常具有爆发性,业务量很可能在短短的一个月内突然爆发式地增长几千倍,对应的数据也很可能快速地从原来的几百GB飞速上涨到了几百个TB。如果在这爆发的关键时刻,系统不稳定或无法访问,那么对于业务将会是毁灭性的打击。
这时,传统的单机数据库提供的服务,在系统可扩展性、性价比方面已不再适用。伴随着对于系统性能、成本以及扩展性的新需求,分布式数据库系统应运而生,力求突破单机MySQL容量和性能瓶颈,彻底消除单机数据库无法支撑企业业务高速发展的后顾之忧。
以万里开源GreatDB分布式数据库产品为例,为大家详细解析分布式数据库的一些重要特性和技术实践细节。
水平拆分:支持数据sharding,分布式部署;
动态扩展:支持动态扩容,数据在线重分布;
故障恢复:故障自动切换保证系统高可用性;
分布式事务:提供ACID分布式事务支持;
数据安全:提供企业级数据安全特性,例如密码复杂度,访问控制;
MySQL协议:完美适配mysql,继承mysql生态;
并行计算:基于数据分布式部署制定分布式执行计划,通过分布式并行实现高性能;
读写分离:提供基于数据冗余的读写分离,实现读扩展;
HTAP融合:实现基于内存计算的TP与AP混合负载支撑;
云化支持:提供OpenStack、容器、物理机等DBaaS支持;
国产硬件支持:支持国产软硬件龙芯、飞腾、鲲鹏,中标麒麟芯片、银河麒麟、拓林思操作系统;本回答被提问者采纳
第3个回答  2020-06-15
1.分布式数据库是数据库的一种,是数据库技术和网络技术的结合产物。
2.各有优点和缺点.分布式数据库分为逻辑上分部物理上分布及逻辑上分布物理上集中两种。
是的,分布式数据文件便于数据库的管理维护。
分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
这种组织数据库的方法克服了物理中心数据库组织的弱点。
1、首先,降低了数据传送代价,因为大多数的对数据库的访问操作都是针对局部数据库的,而不是对其他位置的数据库访问;
2、其次,系统的可靠性提高了很多,因为当网络出现故障时,仍然允许对局部数据库的操作,而且一个位置的故障不影响其他位置的处理工作,只有当访问出现故障位置的数据时,在某种程度上才受影响;
3、便于系统的扩充,增加一个新的局部数据库,或在某个位置扩充一台适当的小型计算机,都很容易实现。然而有些功能要付出更高的代价;
例如,为了调配在几个位置上的活动,事务管理的性能比在中心数据库时花费更高,而且甚至抵消许多其他的优点。
分布式数据库系统主要特点:
1.多数处理就地完成;
2.各地的计算机有数据通信网络相联系。
3.克服了中心数据库的弱点:降低了数据传输代价;
4. 提高了系统的可靠性,局部系统发生故障,其他部分还可继续工作;
5.各个数据库的位置是透明的,方便系统的扩充;
6.为了协调整个系统的事务活动,事务管理的性能花费高;
数据分片
类型:
(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。
(3)导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。
(4)混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。
条件:
(1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。
(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。
(3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。
数据分配方式
(1)集中式:所有数据片段都安排在同一个场地上。
(2)分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。
(3)全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。
(4)混合式:这是一种介乎于分割式和全复制式之间的分配方式。
目前分布式数据库分配的设计,越来越多的采用寻找最优解的算法,比如遗传算法、退火机制等.本回答被网友采纳
相似回答