实时数据库和"正常数据库之间有什么区别?数据库?

时间:2017-04-15 09:25:01

标签: database firebase-realtime-database backend backendless

我正在研究一些用于开发Web应用程序的后端即服务(BaaS)解决方案,我经常看到Firebase refers to their database as a "realtime database",而Backendless doesn't mention the phrase "real time" anywhere

我知道实时意味着数据会立即处理,但我认为所有数据库都这样做了吗?例如,如果我有一个MySQL / SQLite / PostgreSQL数据库并插入数据,我希望它可以在(毫秒)之后检索,并且肯定直接在" INSERT ..."查询已经完成。

与其他BaaS服务相比,有人可以了解Firebase实时数据库的不同之处" normal"数据库?

2 个答案:

答案 0 :(得分:1)

很少与人们如何创造名称“实时”或以BaaS形式提供有关。如果可以通过优化存储和检索来更快地检索数据,则可以将其归类为实时数据。例如。实时数据库this commitAerospikeSAP Hana,内存缓存,redis和SQLite的数据。

实时或内存数据库

  1. 数据存储在RAM中。为了可靠性,将数据备份在非易失性存储器上。 Volt DB将来可能会使用。
  2. 成本更高。
  3. 高性能。
  4. 不需要序列化。当使用指针访问数据时。
  5. 使用AVL树(或其他最佳数据结构)进行索引以支持范围查询。

RDBMS“常规”数据库,

  1. 存储在硬盘或SSD中的数据。
  2. 低成本。
  3. 耐用。
  4. 需要序列化,因为数据存储在文件中。
  5. 使用BTree进行索引。

答案 1 :(得分:0)

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