WEB3:什么是去中心化数据库

简介: 去中心化数据库是值得尝试的存储技术?还是 WEB3 的炒作?

去中心化数据库是值得尝试的存储技术?还是 WEB3 的炒作?

有时数据需要超出单个数据库实例处理的范围,这时需要开始考虑增加和扩展数据的存储,常见的做法是采用分布式方法,部署多个实例,并采用读写分离。

然而当下,可能有不同的选择:去中心化数据库。去中心化,WEB3的特征之一,是基于区块链的技术。

去中心化与分布式

在开始之前先来了解一下去中心化和分布式这两个术语的区别。

image.png

相似之处是都提到了将处理多个服务器的事实,并且很可能它们将位于不同的物理位置。

而分布式方法将在集群的许多节点之间有效地拆分数据和该数据的处理(如查询、数据整理等)。可以这样做是因为每个节点都知道并相互可信。它们要么有一个集群节点的内部列表(有点像 Redis 集群),要么依赖一个(或几个)中心化服务来跟踪该信息(就像 Hadoop 集群一样)。

去中心化的节点网络彼此共享数据,但它们不知道另一边是谁。它们能够做到这一点是因为这些集群的底层技术。实现可能会改变,但本质上所谓的“拜占庭容错”允许网络保持一致和安全,即使一个或多个节点受到损害(即被删除、被黑客攻击等)。

另一个主要区别,通常也是您选择其中一个的主要原因之一。分布式网络由单一机构拥有,即中心化机构所有(例如,集群可以部署在阿里云上,也可以部署在华为云上,但他们拥有集群的基础设施,如机器、网络),而去中心化的网络没有单一的所有者。

虽然这看起来很可怕,但考虑到单一授权的优势之一是,作为客户,如果事情没有解决,确切地知道该怪谁,技术底层的去中心化方法甚至可以防止灾难性的情况发生。

从而消除了单个实体对整个节点网络的依赖性。根据业务需求,这可能是一个主要的决定因素,因此在决定去中心化与分布式方法时记住这一点很重要。

去中心化的数据库

既然如此,为什么要选择去中心化数据库?正如之前提到的,最大的决策驱动因素将是业务需求。下面来总结一下去中心化的数据库应该具有什么样的特征:

  • 数据副本:去中心化的数据库将在网络上存在多个副本。虽然具体实现可能会有所不同,但普遍的共识是网络的每个节点都将保存整个数据库。通过在全球分布节点,可以让客户端访问最快的节点来实现低延迟。
  • 数据安全:这里所说的“安全性”并不是指可能想到的访问控制功能,而是指去中心化系统具有内在的“审查”这一事实。这一特殊功能将确保每次将新信息输入节点时,网络的其余部分都会对其进行审查,然后才能将其分发到所有其他节点。这样确保了如果一个节点以某种方式受到损害,全球范围内的信息不会受到影响。从本质上消除了与分布式系统相关的大量常见安全漏洞。
  • 数据稳定:这种类型的架构比分布式系统更不容易出错。分布式通常拥有依赖于特定任务的单一权限的架构,将该实体变成单点故障(即,如果失败,整个集群将变得不可用)。当然,许多高端解决方案都试图为这个问题提供解决方案或替代方案。但对于去中心化网络,并没有一个单一机构真正拥有它。这是因为没有中心化机构在做任何事情,所有事情都是由每个人(或至少是大多数人)完成的,因此很难击倒其中一个数据库。

当然,可能不需要这些特征,或者可能更愿意信任一家公司来保存数据并确保稳定。毕竟,这就是迄今为止算是最有效的方案。

但是,如果不属于该类别,如果正在构建不希望其他人控制或审查的东西。如果真的不信任某家公司对使用的信息类型保持开放和中立。在这种情况下,也许去中心化的方法是完美的。

有哪些去中心化的数据库

虽然去中心化范式似乎很有吸引力,最近随着 WEB3 的概念开始快速增长,增长的趋势足以触发围绕它创建新项目和技术。

BigchainDB

image.png

BigchainDB 尝试将区块链世界与数据库世界结合起来,为数据存储和检索需求提供去中心化的解决方案。它于 2016 年首次发布,此后一直在发展,这意味着它应该是一个可靠的替代方案。不过,MySQL 自 1995 年以来就已经存在,所以相对而言 Bigchain 就像一个蹒跚学步的数据库,但在去中心化运动中,它绝对是一个不错的选择。

如果想了解更多关于 BigchainDB 的信息,甚至发布了该数据库所基于的白皮书,可以自己阅读文档

HarperDB

image.png

HarperDB 提供了一种非常有趣的混合存储方法,这允许进行边缘云设置,远程设备只关心发送本地查询,而数据库本身负责将其内容与集群的其余部分同步。

通过表级 pubsub 机制,可以在全球同步单个表,而本地设备对所需数据保持毫秒级延迟。

CovenantSQL

image.png

正如前提到的,一些替代方案是新的,虽然它们看起来很有趣,但有必要了解它们是否已为用例做好准备。 ConvenantSQL 就是其中之一。他们的前提是拥有一个分散的、基于 SQL 的数据库,可以将其用于任何想要的东西。他们将自己宣传为 AWS 的 QLDB(量子账本数据库)的开源替代品。

总结

本文简单介绍了去中心化数据库和分布式数据库的区别,介绍了去中心化数据库的特征及目前比较不错的解决方案,对 WEB3 感兴趣的还是有必要了解一些去中心化的技术和开源库,开拓思路。


相关文章
|
2月前
|
存储 移动开发 大数据
HTML5 Web IndexedDB 数据库详解
IndexedDB 是一种高效的浏览器存储方案,允许在本地存储大量结构化数据,支持索引和事务,适用于需要离线和大数据处理的应用。它由数据库、对象仓库等组成,通过键值对存储数据,确保数据一致性和完整性。本介绍展示了如何创建、读取、更新和删除数据,以及事务和错误处理的最佳实践。
|
4月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
64 1
|
26天前
|
SQL 安全 网络安全
Web应用防火墙(WAF)与数据库应用防火墙有什么区别?
Web应用防火墙(WAF)专注于Web应用系统和网站的应用层防护,可有效应对OWASP Top 10等常见攻击,防止SQL注入、CC攻击等。而数据库应用防火墙则位于应用服务器与数据库之间,提供数据库访问控制、攻击阻断、虚拟补丁等高级防护功能,直接保护数据库免受攻击。两者分别针对Web层和数据库层提供不同的安全保护。
37 4
|
1月前
|
人工智能 安全 物联网
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
区块链技术的未来展望:去中心化金融(DeFi)与Web 3.0的融合
|
2月前
|
存储 移动开发 数据库
HTML5 Web IndexedDB 数据库常用数据存储类型
IndexedDB 支持多种数据存储类型,满足复杂数据结构的存储需求。它包括基本数据类型(如 Number、String、Boolean、Date)、对象(简单和嵌套对象)、数组、Blob(用于二进制数据如图像和视频)、ArrayBuffer 和 Typed Arrays(处理二进制数据)、结构化克隆(支持 Map 和 Set 等复杂对象),以及 JSON 数据。尽管不直接支持非序列化数据(如函数和 DOM 节点),但可以通过转换实现存储。开发者应根据具体需求选择合适的数据类型,以优化性能和使用体验。
|
2月前
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
4月前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
189 1
|
4月前
|
数据采集 数据可视化 关系型数据库
【优秀python web设计】基于Python flask的猫眼电影可视化系统,可视化用echart,前端Layui,数据库用MySQL,包括爬虫
本文介绍了一个基于Python Flask框架、MySQL数据库和Layui前端框架的猫眼电影数据采集分析与可视化系统,该系统通过爬虫技术采集电影数据,利用数据分析库进行处理,并使用Echart进行数据的可视化展示,以提供全面、准确的电影市场分析结果。
158 4
|
3月前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
56 0
|
4月前
|
开发者 前端开发 Java
架构模式的诗与远方:如何在MVC的田野上,用Struts 2编织Web开发的新篇章
【8月更文挑战第31天】架构模式是软件开发的核心概念,MVC(Model-View-Controller)通过清晰的分层和职责分离,成为广泛采用的模式。随着业务需求的复杂化,Struts 2框架应运而生,继承MVC优点并引入更多功能。本文探讨从MVC到Struts 2的演进,强调架构模式的重要性。MVC将应用程序分为模型、视图和控制器三部分,提高模块化和可维护性。
50 0
下一篇
DataWorks