TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Why “database as a service” didn't succeed?

10 点作者 twa927将近 9 年前
Even the database services from cloud providers, like Amazon RDS or GCE, are effectively thin wrappers over traditional database components. &quot;Instances&quot;, &quot;nodes&quot;, &quot;hosts&quot; are still present and not abstracted.<p>It looks like a database as a black-boxed CRUD API, with abstracted node&#x2F;replication&#x2F;failover handling, should be the obvious solution. I think there were tries to do it (Amazon SimpleDB, Google AppEngine&#x27;s datastore?) but they are not widely used. Why?

7 条评论

ronreiter将近 9 年前
Amazon&#x27;s DynamoDB is widely adopted. Google&#x27;s datastore is widely adopted. And Google just added a generic interface to BigTable. And there&#x27;s also Google&#x27;s Firebase.<p>Database as a service works just like any other managed service today.
评论 #11803578 未加载
jbergens将近 9 年前
Depends on what you mean. There are databases that are mostly handled by the hosting firm. MS Azure can be used in failover mode and you can scale up to more powerfull &quot;servers&quot; without taking the application down. Sql databases are normally hard to scale-out over many servers and often require some rewriting of the application to do scale-out.<p>IBM Cloudant can scale-out to many servers that are all handled by IBM. I&#x27;m sure a lot of other cloud based documentdatabases can do this too.<p>Regarding why it hasn&#x27;t become really popular yet organizations are generally very slow to change their data storage solutions. Changing to nosql from a relational database also requires a large rewrite of the system and it is not only upsides of going in this direction (some says that it is almost only downsides). It is for exmaple usually harder to get acid guarantees from a distributed db and it may be harder to create (secondary) indices.
smt88将近 9 年前
I like RDS because I get control over the app-specific things (structure, indexes, etc.) and don&#x27;t worry as much about general DB issues (backups, slaves, I&#x2F;O performance, etc.)<p>That&#x27;s really only possible if the DBaaS is a &quot;thin wrapper&quot; as you describe.<p>But, other than that, I think ronreiter is right -- there are DBaaS that have big user bases.
cjlarose将近 9 年前
FWIW, if you configure AWS RDS for Multi-AZ support, you essentially get a black box &quot;cloud database&quot; with synchronous replication and automatic failover. You&#x27;re right, though, in that you&#x27;re still essentially being allocated a fixed-sized single-node deployment of your favorite RDBMS.<p>I think the &quot;obvious solution&quot; is just not super easy to implement. If you want ACID compliance as with traditional RDBMSs but in a auto-scaling, distributed setting, it&#x27;s not going to happen. Early RDMSs were built with a single node in mind, and any database-as-a-service will have to make some compromises. DynamoDB gives you the flexibility of not having to worry about scaling, and even offer strongly consistent reads, but without support for transactions, for example.
kasey_junk将近 9 年前
&quot;Database&quot; is not specific enough. You have to get to very specialized consistency requirements before you can start talking about what you mean by a database.<p>Once you do that, things like instances&#x2F;nodes&#x2F;hosts become important because you cannot abstract certain consistency requirements away from them.
SHOwnsYou将近 9 年前
Latency. If you&#x27;re already hosting on AWS or GCE, using their databases is commonplace.<p>But if you host your frontend, it doesn&#x27;t make sense to talk to a database in a different datacenter when you could instead put it in the same rack.
nostrademons将近 9 年前
Most of the MBaaS market is basically database-as-a-service.