《大数据容器—Nosql数据库与传统RDBMS数据库》
随着互联网的异军突起,大数据领域异常火热。在互联网的当下,请拿数据说话,因此数据才是重点,那么存储数据的容器也就被称之为数据库(Database)。在早期,尤其是以"企业级"项目为主,RDBMS数据库长期以来都是霸主,因为大部分依赖RDBMS的需求都拥有一个相同的特点,那就ACID特性(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))。除此之外,很多数据或许并不适合使用这类数据库作为解决方案,取决于这个原因,NoSql数据库正在迅速崛起。
Nosql(Not Only SQL)数据库可以解决传统RDBMS数据库做不到的事情,因此在互联网领域,Nosql数据库无疑正在或者说已经取代后者。Nosql其实只是一个名词,真正的含义是指,除了传统RDBMS数据库之外,还有非SQL的数据库,这类数据库包括有:内存数据库(Redis、memcache)、Hadoop平台下的Hbase、Mongodb,以及Membase等。我们都知道,RDBMS数据库中并不适合存储过大的数据,以及在高并发的情况下,数据库将极有可能沦落为性能瓶颈,因此基于这些原因更加迫切催促着Nosql这一类的数据库诞生。
架构师如何解决上述所提及的问题的?以一个并发相对较大的分布式应用场景相对来说,在RDBMS数据库之前肯定会挂一堆吃大内存的内存数据库去抗住传统数据库约70%的性能,并发越大,那么在分布式场景中内存数据库将会采用分布式(业务划分)+集群的方式进行部署。而RDBMS数据库除了会做Master/Slave之外,在有必要的情况下DBA会做垂直分库+水平分区,也就是我们常说的sharding。而关于一些非结构化的冷数据、包括:系统日志数据、登录日志数据、消息记录数据等之类的数据信息将会落盘到HBase、Mongodb等数据库中,方便日后结合Hadoop平台的强大并行运算能力对大数据进行采集和分析。
除此之外,传统的RDBMS数据库还存在一个较大的问题,那就是无法轻易实现大规模的扩展。尽管网络解决方案一定程度上改善了这个问题,但网络中仍然无法动态的创建新的集群,因此使用RDBMS数据库构建大数据解决方案就会变得异常昂贵。其次之前也说过,RDBMS数据库不善于处理非结构化数据。最后SQL和RDBMS数据库的组合难以实现某些类型的简单查询,比如两点间的最短线路。
像一些大公司,比如:淘宝、腾讯、京东等企业。在大数据的场景下,都拥有各自优秀且成熟的解决方案,而基于传统的RDBMS数据库方案已经不再是唯一选择。以Hbase为例,其优点很明显,高度可扩展性、出色的可靠性,以及低维护成本都是大数据场景下的不二选择。不过相对而言,尽管传统的RDBMS数据库地位受到了“侵犯”,但在未来很长的一段时间内,笔者相信,这2种类型的数据库会长期友好的并存下去,各自取长补短才能更好的应对需求。
PS:阿里正祥博士主导的Ocaenbase同样也是一个出色且开源的大数据DB。关于Ocaenbase的更多信息,请访问https://github.com/alibaba/oceanbase。
相关推荐
本章节主要介绍数据库的基本概念和发展历史,讨论了关系型数据库的特点和瓶颈,以及NoSQL数据库的出现和作用。 数据库的相关概念 数据库(Database,DB):是一种按照数据结构来存储和组织信息数据的软件容器或...
NoSQL数据库,如NodeDial,是相对于传统的关系型数据库(RDBMS)的一种选择,它们通常更适合处理非结构化或半结构化数据,并在大数据应用场景下表现出色。在本文中,我们将深入探讨NodeDial的特性和其在分布式系统中...
随着大数据时代的到来,虽然NoSQL等非关系型数据库也开始崭露头角,但关系数据库仍然是许多核心业务场景下的首选方案,尤其在需要强一致性和事务处理能力的场合。 总的来说,关系数据库是现代信息技术中不可或缺的...
1. "大数据"一词的含义指的是涉及海量、复杂数据集的处理,这些数据集超出了传统关系型数据库的处理能力。大数据技术利用特殊工具和方法对大量数据进行操作,帮助企业深入了解业务并从非结构化和原始数据中提取有...
HBase是NoSQL数据库,与关系型数据库RDBMS相比,它更适合非结构化和半结构化数据存储。HiveQL是Hadoop上的SQL方言,用于数据查询和分析,支持数据类型、外部表和分区表,以优化大数据处理。Flume是日志收集系统,其...
- **MongoDB**和**Redis**:学习NoSQL数据库,理解非关系型数据库在大数据场景中的优势。 **Hadoop相关阶段** - **Hadoop概念、版本和历史**:了解Hadoop的核心思想和其发展过程。 - **HDFS工作原理**:学习分布式...
- **NoSQL数据库**:如MongoDB等,用于存储非结构化或半结构化的数据,适应性强,扩展性好。 - **机器学习算法**:应用于需求预测、库存优化等方面,提升仓库管理的智能化水平。 ###### 1.2.2 应用现状 目前,基于...
本篇笔记主要介绍了数据库系统的基础概念,包括关系型数据库、非关系型数据库(NoSQL)以及MySQL的安装与使用。 首先,数据库系统(DBS)是由数据库(DB)、数据库管理系统(DBMS)和管理员组成的,它是一种高效的...
与传统的关系型数据库管理系统(RDBMS)如MySQL、Oracle、DB2和SQL Server等不同,HBase是一个NoSQL数据库。它采用的是列式存储而非行式存储,没有固定的表结构定义,支持的数据类型为字节数组(byte[]),并且对...
- 非关系型数据库(NoSQL)近年来逐渐流行,适用于大数据和分布式存储场景。 4. **MySQL介绍** - MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用和中小型企业。 - MySQL8.0是其最新版本,提供...
- NoSQL(Not Only SQL)是非关系型数据库系统的统称,例如MongoDB和MemBase,适用于大数据、高并发等场景。 3. **关系模型**: - 实体与属性:现实世界中的对象(如学生)及其特性(如学号、姓名)转化为数据...
NOSQL数据库通常是为了处理大量数据、追求高并发性和高可用性而设计的,如Redis(内存数据库)、MongoDB(文档型数据库)和HBase(大数据集群数据库)等。 NEWSQL数据库则是近年来的新趋势,它结合了关系型数据库的...
三、数据库与表 在MySQL中,数据库是存储数据的容器,而表是组织数据的结构。了解如何创建数据库和表,定义字段类型、主键、外键,以及使用索引以提高查询性能,这些都是MySQL实践中的基础。 四、事务处理 事务是...
9. **数据库**:利用关系型数据库管理系统(RDBMS)或非关系型数据库(NoSQL)来管理和查询数据。 10. **倒排索引**:常用于搜索引擎中,通过将文档映射到包含该文档的关键词列表上,加速搜索过程。 #### 单机与...
第四,数据库技术,特别是关系数据库管理系统(RDBMS)和新兴的NoSQL数据库,如MongoDB、Cassandra等,它们在处理大数据和实时分析方面各具特色。理解何时使用传统的关系模型,何时采用非关系模型,是适应现代数据...
3. **NoSQL数据库**:例如MongoDB和BigTable,用于处理非结构化或半结构化数据,适合大数据场景。 4. **分布式数据库**:如Hive和HBase,主要用于大规模数据处理和分析,通常与Hadoop生态系统配合使用。 5. **...
MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL),在各类应用场景中都有着重要的地位,特别是在网站开发和大数据处理中。本资源包含两个不同版本的MySQL for Windows 64位...
2. **数据存储与管理系统**:理解不同的数据库系统,如关系型数据库(RDBMS)、非关系型数据库(NoSQL)、列式数据库、时序数据库、图数据库等,以及它们在处理大数据场景下的优势和限制,是设计数据密集型应用的...
- HBase是一个分布式的、面向列的开源数据库,它是建立在Hadoop之上的NoSQL数据库。 - **HBase集群结构** - HBase集群主要包括Master节点和RegionServer节点。 - **HBase的存储模型** - HBase的数据存储模型基于...