NoSQL数据库:新兴数据管理解决方案的全面解析
1. NoSQL的非常见特性
虽然一些特性在NoSQL数据库中较为常见,如无模式和非关系结构,但一个数据库即使缺少以下一个或多个特性,仍可被视为现代NoSQL数据库。
1.1 开源特性
NoSQL软件独具特色,因为其发展是由开源运动推动的,而非商业公司主导。因此,你能找到大量开源的NoSQL产品来满足各种需求。当开发者找不到符合自身需求的NoSQL数据库时,他们会自行创建并最初以开源形式发布。
不过,大多数流行的NoSQL解决方案是由商业公司推动的,开源版本往往缺乏大型企业关键任务使用所需的关键特性。开源NoSQL供应商与纯粹的商业公司的区别在于,开源供应商采用类似红帽的商业模式,即发布开源产品,同时销售企业附加功能、支持和实施服务。
需要注意的是,使用NoSQL的人员并非主要由业余时间工作的开源开发者驱动,而是为产品背后的商业公司工作。在选择NoSQL数据库时,要牢记“总体拥有成本”。许多组织购买了开源产品后,才发现需要高价订阅才能获得所需的功能。
1.2 BASE与ACID
2014年之前,大多数NoSQL定义并未将ACID事务支持作为NoSQL数据库的定义特征,但现在情况已不同。
ACID合规事务意味着数据库的设计能确保数据绝对不会丢失,具体包括:
- 原子性(Atomic) :每个操作将数据库从一个有效状态转换到另一个有效状态。
- 一致性(Consistent) :在任何时间点,每个人对数据的视图都是相同的。