Database “实时数据库”和“实时数据库”之间有什么区别;“正常”;数据库

Database “实时数据库”和“实时数据库”之间有什么区别;“正常”;数据库,database,firebase-realtime-database,backend,backendless,Database,Firebase Realtime Database,Backend,Backendless,我正在研究一些用于开发web应用程序的后端即服务(BaaS)解决方案,我经常看到这一点,例如 我知道实时意味着数据被立即处理,但我认为所有的数据库都是这样做的?例如,如果我有一个MySQL/SQLite/PostgreSQL数据库和insert数据,我希望它能在(毫秒)秒内被检索到,而且肯定是在“insert…”查询完成之后 有人能解释一下Firebase实时数据库与其他BaaS服务“普通”数据库有什么不同吗?术语“实时”有点令人困惑,但实际上Firebase与普通数据库有很大不同。有两个主要区

我正在研究一些用于开发web应用程序的后端即服务(BaaS)解决方案,我经常看到这一点,例如

我知道实时意味着数据被立即处理,但我认为所有的数据库都是这样做的?例如,如果我有一个MySQL/SQLite/PostgreSQL数据库和insert数据,我希望它能在(毫秒)秒内被检索到,而且肯定是在“insert…”查询完成之后


有人能解释一下Firebase实时数据库与其他BaaS服务“普通”数据库有什么不同吗?

术语“实时”有点令人困惑,但实际上Firebase与普通数据库有很大不同。有两个主要区别。首先是它存储数据的方式,另一个是我们访问数据的方式。在普通数据库中,当后端数据更新时,我们需要刷新浏览器或android应用程序以获得更新的数据,而在firebase中,我们甚至不需要刷新页面。从任何其他客户端浏览器所做的更改将反映到所有连接的客户端,而无需进行任何服务器端调用

它很少涉及人们如何创造“实时”这个名字,或者它是否作为BAA提供。如果通过优化存储和检索可以更快地检索数据,则可以将其归类为实时数据。例如实时数据库、memcached、redis和SQLite

实时或内存数据库

  • 存储在RAM中的数据。为了可靠性,数据备份在非易失性存储器上。将来可能会用到
  • 成本更高
  • 高性能
  • 不需要序列化。因为数据是使用指针访问的
  • 使用AVL树(或其他最佳数据结构)进行索引以支持范围查询
  • RDBMS“正常”数据库

  • 存储在硬盘或SSD中的数据
  • 低成本
  • 耐用
  • 数据存储在文件中时需要序列化
  • 使用BTree进行索引

  • 在该页面上向下滚动一点:“Firebase实时数据库不是典型的HTTP请求,而是在每次数据更改时使用数据同步,任何连接的设备都会在毫秒内收到更新。提供协作和沉浸式体验,而无需考虑网络代码”。客户端不必轮询,他们会收到数据更改的通知。啊,好吧,所以区别不是数据存储的速度有多快,而是数据库可以实时向客户端发送有关更改的推送通知?例如,客户端必须手动轮询数据库以查看更改?这是有道理的,但它的名字有点混乱。。。我猜“通知数据库”或“可观测数据库”听起来并不那么吸引人……另一个令人困惑的原因是,实时数据库使用“[…]表示数据有效的特定值范围的定时约束。这听起来像是实时数据库更像是非持久性临时缓存,而不是永久性存储解决方案?我猜Firebase的术语根本不是这个意思。此外,如果服务器支持HTTP长轮询,这不是很有效吗同样的事情?它不是“实时数据库”。它是“Firebase实时数据库”。它只是一个产品名称。你可能很容易想知道“Firebase”是什么。