在面向前端开发人员的数据库系列的第一部分无服务器数据库的兴起中,我们讨论了扩展和维护数据库的障碍和陷阱。今天,我们将与大家分享如何从更简单、更专业的替代方案(如内容管理系统和电子表格)转向自托管数据库,最后转向无服务器数据库。
我们将探索这个概念,让您对适合您的具体需求的数据库有自己的看法。提前强调这一点很重要:没有正确的答案。每个数据库都有自己的权衡和优势。假如有些东西看起来像一刀切的解决方案。在开始之前,强调数据库实际上是数据库管理系统是很重要的(DBMS)”。DBMS它使用户更符合人体工程学地写入、读取、删除或更新给定数据集中的信息。本系列将主要关注关系和非关系DBMS。根据其数据结构,还有许多其他类型,但关系类型和非关系类型是Web开发最常见的类型。
关系(R)和非关系(NR)DBMS构成它们的部分有不同的术语。这些组件在定义上几乎可以交换,这就是为什么你通常听到开发人员将文档交换(NR术语)称为表,是其关系的等价结构。不要害怕混淆它们;它们经常出现,足以随着使用而迅速消失。此外,一旦你更熟悉每个数据结构的差异,你就会意识到它们可能不应该互换,因为它们之间存在差异。但现在,为了简单起见,让我们关注相似之处。
一旦您查看不同的数据结构并选择您的数据结构DBMS,您可以绘制从数据层到应用程序层的第一个连接。突然间,您注意到将数据从数据库带到客户端在某些情况下甚至服务器端)API)没那么简单。这里有ORM和ODM(对象文档映射)帮助您的开发体验。Prisma可能是目前使用最广泛的可能性ORM,而Mongoose拥有最大的ODM用户群。重要的是要注意它们不是连接到数据库的要求。尽管如此,如果你密切关注他们如何构建你的查询(在某些情况下,性能问题可能是抽象的),他们通常会让你的生活更容易,获取或写入数据更符合人体工程学。
说到无服务器数据库,对它们的需求变得更加可疑。这是因为这些数据库中的许多都为用户提供了官方支持的软件开发工具包(SDK)。你的里程会因SDK但它们往往与之不同ORM和ODM它有很大的功能重叠,特别是保持数据层API后续数据库(如Xata)。这样,你就不用担心翻译查询,你可以要求SDK和ORM等效人体工程学。
在我们系列的这一部分,我们正在学习如何为数据层选择堆栈。了解相关的维护和选择DBMS的常见概念至关重要(从现在开始,我们重新将它们称为“数据库”以与世界其他地方保持一致)。下一部分不会深入到你跳出来找数据库管理员(DBA)但我希望它能为您提供足够的弹药与专家交谈,并为您的用例确定最佳解决方案。从电子表格到自托管数据库,甚至到无服务器数据库,这些概念在每个数据层都很常见。不同的是,每个解决方案将如何平衡这些范式中交织在一起的变量。
首先,最重要的概念是一致性、可用性和分区容错性。如果一起呈现,会更好的理解,因为它们之间的平衡会引导你的数据在不同上下文中的可预测性。该定理描述了分布式系统中三个组件之间的关系:一致性、可用性和分区容量(CAP)。总体结论很容易总结:任何系统只能同时考虑两个组件。虽然只是一句简单的句子,但这个想法需要一些解包。在CAP在定理约束中,一致性直接指数据。当不同的客户端发出相同的请求时,他们会得到相同的响应。所有用户在接受并确认书面请求后,都会同时访问此更新信息。每个请求都会收到数据响应。没有错误。然而,这并不承诺数据是否是最新的。根据这是否一致©或分区容差(P)配对,你会得到不同的行为。
有了这个,我相信我们已经准备好开始缩小我们对每种数据库类型之间差异的讨论。此外,可以讨论和评估对所采用的每个解决方案的期望,并单独分析架构。从现在开始,我们将专注于关系和非关系数据库。
网站建设如何选择更合适的服务器
日期:
2022-10-08
点击:
次
来源:
贵阳网站建设