哪种 DBMS 最适合此要求? (大、结构简单、海量写入/快速读取、Java)

发布于 2024-12-11 14:46:20 字数 450 浏览 0 评论 0原文

我需要一个可以存储大量简单结构化数据并使其相对较快可用的数据库。

用例非常简单,所以我将用几句话解释它以使事情更清楚:

“大量”GPS 设备将不断地将数据发送到 java 服务器进行存储。使用设备 ID 和当前日期作为密钥来存储和访问数据。服务器向相对“少量”的客户端提供数据,但他们需要非常快的数据 - 用于实时跟踪和一些计算。 “小”和“大”之间的关系约为 1 到 100。

您会为该应用程序推荐哪种数据库?

由于不需要真正的引用完整性,也没有数据结构可言,RDBMS 似乎不适合这个 - 但我有点迷失在 NoSQL 世界中,来自第一手经验的一些建议会很好。

其他要求包括:

  • 免费使用和 OSS
  • 某种 Java API
  • 强大的社区
  • 当然可靠 - 一些无效的数据条目不是大问题,但数据库必须始终处于可用状态

I need a database that can store a massive amount of simple structured data and make it available relatively fast.

The use-case is quite simple, so I will explain it in a few words to make things clearer:

A "large" number of GPS devices will constantly send data to a java server for storage. The data is stored and accessed with the device id and the current date as key(s). The server offers the data to a relatively "small" number of clients, but they need the data very fast - for live tracking and some calculations. The relation between "small" and "large" is something around 1 to 100.

What kind of database would you recommend for this application?

With no real referential integrity needed and no data structure to speak of, RDBMS seems not the right thing for this - but I'm kind of lost in the NoSQL-World and a few advices from first hand experience would be nice.

Other requirements are:

  • Free to use and OSS
  • Some kind of Java API
  • Strong community
  • And of course reliable - a few invalid data entries aren't a big problem, but the database must always be in a usuable state

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

喵星人汪星人 2024-12-18 14:46:20

大多数 NoSQL(公司、粉丝)(如果不是全部)都会告诉您他们的解决方案是最好的。因此,无论谁告诉您哪种解决方案最适合(包括我),都只是在表达他的意见=>这个问题的任何答案都没有绝对的真理。

把它排除在外。我肯定会推荐 Riak 或 CouchDB,原因如下:

  • 当然可靠 - 一些无效的数据条目不是大问题,但数据库必须始终处于可用状态

可靠性来了有多种形式(例如 9 的正常运行时间、可靠的读取、[最终]一致的数据等)。目前只有一个平台,它是在编写时考虑到可靠性并成功测试了 30 年 => Erlang OTP。

Riak 和 CouchDB 都是基于这个平台,并且在容错、正常运行时间、可靠性等方面依赖它

  • 强大的社区

Riak 和 CouchDB 都拥有强大的优秀社区。我真正喜欢 Couchers 和 Riaksters 的是他们的热情、人性化的处理方式以及乐于助人的愿望。

  • 简单结构/大量写入

Riak 是一个简单的 {key,value} 存储。具有二级索引的附加功能。对于海量写入,它的后端数据存储是可插拔的,你甚至可以使用Google自己的 LevelDB ,速度快得令人难以置信,而且“庞大”。

  • 某种 Java API

Riak Java 客户端Couch Java 客户端

  • 免费使用和 OSS

两者都是免费和 OSS,并且..惊人的!

Most of the NoSQL (companies, fans), if not all, will tell you that their solution is the best. So whoever tells you which solution fits best (including me) is just making his opinion heard => there is no absolute truth in any answers to this question.

Having that out of the way. I would definitely recommend either Riak or CouchDB, and here is why:

  • And of course reliable - a few invalid data entries aren't a big problem, but the database must always be in a usable state

Reliability comes in many shapes and forms ( e.g. number of 9s uptime, reliable reads, [eventually] consistent data, etc.. ). Currently there is only one platform, that was written with reliability in mind and successfully tested for 30 years => Erlang OTP.

Riak and CouchDB are based on this platform, and rely on it for fault tolerance, uptime, reliability, etc..

  • Strong community

Both Riak and CouchDB have strong excellent communities. What I really love about Couchers and Riaksters is their passion and human approach to things and desire to help.

  • Simple Structure / Massive Writes

Riak is a simple {key,value} store. With an additional feature of secondary indices. As to massive writes, its backend data store is pluggable, you can even use Google's own LevelDB, which is incredibly fast and "massive".

  • Some kind of Java API

Riak Java Client, Couch Java Clients

  • Free to use and OSS

Both are FREE and OSS, and.. awesome!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文