1 回答
TA贡献1943条经验 获得超7个赞
一个
embedded database
驻留应用程序内。它不需要是相关的。例如,您计算机上的媒体管理器中嵌入了一个数据库,用于存储音频/视频元数据和文件位置。这个数据库可以是关系型的,在这种情况下,数据库可以是类似 sqlite 或 mysql 的东西。(我认为 postgres 不能嵌入到应用程序中)。如果您想缓存本地信息,或者您确定应用程序内的信息不需要与应用程序的功能进行外部通信,则嵌入式数据库非常有用。嵌入式数据库的核心设计目标是占用空间小,因此在许多情况下,嵌入式数据库会忽略专用数据库中的功能。
专用数据库服务器支持一个或多个客户端的读写操作,并且通常提供比嵌入式版本更多的功能。Postgres 和 Mysql 都是专用数据库,在网络应用中被广泛使用。它们也是关系数据库,而不是 Bolt 似乎是的键值存储。
键值存储是一个非关系数据库。想想
redis
(或dicts
在 python 中),在哪里注意:
postgres
hashstore
,这是一个键值存储。检索:客户端给数据库key,数据库响应value。
分配:客户端向数据库提供一个键和值,数据库为给定值分配一个新键,或更新现有键的值。
就像关系数据库一样,键值数据库可以嵌入或单独驻留在专用硬件上。以下是在做出这些架构决策时必须提出的一些示例问题。
我的应用程序是否依赖于需要通信的数据,我是想通过写入中央数据库来通信数据,还是每个聊天客户端都以对等模型连接到另一个客户端并存储自己的数据?
我的应用程序中是否需要关系模型、键值存储或其他一些奇特的数据模型?
只是我个人的看法,关系模型在过去 30 多年里成功地满足了各种各样的持久需求。具有非常成熟的嵌入式或专用部署解决方案。这是一个很好的起点。
- 1 回答
- 0 关注
- 191 浏览
添加回答
举报