NoSQL数据库:设计、评估与应用全解析
1. NoSQL数据库的搜索与存储特性
在NoSQL数据库领域,部分数据库会嵌入常见的Apache Lucene引擎,为字符串字段添加全文索引。不过,在某些情况下,这可能不够,还需要一个功能齐全的分布式搜索引擎与分布式NoSQL数据库协同工作。
Solr是一个分布式搜索平台,它内部使用Lucene进行索引。Solr开发者运用了许多NoSQL数据库所擅长的横向扩展技巧。此外,Solr还能作为一个简单的文档存储库,原生保存和索引JSON文档,这与MarkLogic的数据库类似。
随着发展,文档型NoSQL数据库和分布式搜索平台之间的界限会越来越模糊,这也是为什么在NoSQL搜索的核心类型中会包含搜索引擎。
2. 商业智能、仪表盘和报告
数据存储固然重要,但能将其用于战略工作和运营工作则更好。在关系数据库管理系统(RDBMS)中,会使用第二层数据库来进行历史分析和报告,也就是数据仓库。数据仓库存储的信息与运营系统相同,但结构更便于报告工具查询。
然而,这种方法存在问题,即源系统和数据仓库的数据往往无法实时更新。通常,报告需要进行隔夜批量更新,有时甚至一周才更新一次。在如今快节奏的环境下,即使是24小时的延迟也显得太慢。例如,金融服务机构必须在当天甚至在被询问后的五分钟内回答监管机构的问题。
因此,需要对运营数据存储中的数据进行商业智能式查询,以展示数据库的当前实时状态。在NoSQL列存储中,数据以适合运营系统而非数据仓库的结构存储在表、行和列族中。不过,列数据库通常具备实时更新聚合数据的能力。
以日志数据库为例,Cassandra可用于存储系