大型网站系统架构演化实例_7.使用NoSQL和搜索引擎

1.使用NoSQL和搜索引擎

随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

此时,网站系统架构如图1。

图1 第八阶段网站架构

2.NoSQL服务器

2.1NoSQL 的定义

"NoSQL"表示非关系类型数据库,这些数据库采用不同于关系表的格式存储数据。但是,NoSQL 数据库可以使用惯用语言 API、声明性结构化查询语言以及按示例查询语言进行查询,这也正是它们被称为"不仅仅是 SQL"数据库的原因所在。

2.2关系数据库与 NoSQL 数据库对比

RDBMS 中的数据存储在称为表的数据库对象中。表是相关数据条目的集合,由列和行组成。这些数据库需要预先定义架构,即需要提前知道所有列及其相关联的数据类型,以便于应用将数据写入数据库。它们还存储通过键链接多个表的信息,从而创建跨多个表的关系。在简单的用例中,键用于检索特定行以便于进行检查或修改。

相反,在 NoSQL 数据库中,无需预先定义架构即可存储数据 --- 这意味着您可以快速移动和迭代,从而动态定义数据模型。这适用于特定的业务需求,包括基于图形、面向列、面向文档以及作为键值存储。

关系数据库近期还是非常广泛使用的模型,它们仍然在许多企业得到了广泛采用。然而,面对当今多样化、高速和海量的数据,有时需要用一个高度不同的数据库来补充关系数据库。这促进了 NoSQL 数据库在某些领域的采用,该数据库也称为"非关系数据库"。由于支持快速横向扩展,因此非关系数据库可以处理高流量,这也使其具有很强的适应性。

3.搜索引擎服务器

广义的搜索引擎泛指网络(尤其是万维网)上提供信息检索服务的工具或系统,即在因特网上或通过因特网响应用户的搜索请求,返回相应查询结果的信息技术和系统.

概括的说:搜索引擎就是WWW网络环境中的一套信息检索系统。搜索引擎一词在国内外因特网领域被广泛使用,然而他的含义却不尽相同。在中国,搜索引擎通常指基于网站目录的搜索服务或是特定网站的搜索服务.

Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。

相关推荐
xmst3 小时前
短视频如何引流?抖音小红书视频号的引流策略
搜索引擎
ftswsfb9 小时前
【系统架构设计师(第2版)】七、系统架构设计基础知识
系统架构
Elastic 中国社区官方博客13 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理
hostpai15 小时前
FebHost:科技公司选择.TECH域名的魅力
人工智能·科技·搜索引擎·国外域名·科技域名·.tech域名
hostpai20 小时前
FebHost:.COM域名对于初创科技公司的优势
网络·科技·搜索引擎·网站·域名注册
找了一圈尾巴1 天前
架构师备考-架构基本概念
架构·系统架构
白总Server2 天前
OpenHarmony
后端·spring cloud·华为·微服务·ribbon·架构·系统架构
Mr.王8352 天前
架构学习第四周--高可用与NoSQL数据库
linux·nosql
LKID体2 天前
Elasticsearch核心概念
大数据·elasticsearch·搜索引擎
编程老船长2 天前
第25章 Redis入门必备:Java操作Redis实战案例
数据库·redis·nosql