网站是否需要本地数据库?

Lan*_*ard 8 ruby api rest

如果有更好的地方问这个,请告诉我.

每次我建立一个新的网站/博客/购物车/等等,我都会继续尝试以下方法:

  • 将常用功能提取到可重用代码中(主要是Rubygems和jQuery插件)
  • 如果可能的话,将该gem转换为一个小型服务,这样我就不必为所涉及的对象处理数据库(通过服务,我的意思是精益和意思,通常使用Sinatra Web Framework和几个核心模型构建).

我的假设是,如果我可以删除对本地数据库的依赖性,那么从长远来看这将使其更容易和更具可伸缩性(在可重用性和可管理性方面可扩展,不一定是数据库/性能).我不确定这是一个好的或坏的假设.你怎么看?

我做了这个假设是因为以下原因:

最严重的数据库/模型功能已经在互联网上构建.

仅举几个:

  • 社交网络API:Facebook
  • 消息传递API:Twitter
  • 邮寄API:Google
  • 事件API:Eventbrite
  • 购物API:Shopify
  • 评论API:Disqus
  • 表格API:Wufoo
  • 图片API:Picasa
  • 视频API:Youtube ......

这些东西中的每一个都是相当复杂的,从头开始构建,并使这些公司制作它们时优化,简单和易于使用.

因此,如果我在活动页面(eventbrite)上构建一个显示图片(picasa)的应用程序,您可以看到谁加入了活动(Facebook活动),并向他们发送电子邮件(谷歌应用程序API),并让他们填写月度调查(wufoo),并在完成后观看视频(youtube),全部集成到一个自定义,易于使用的网站中,而且我可以在不创建本地数据库的情况下做到这一点,这是一件好事吗?

我问,因为谜题中缺少两件事,迫使我创建该本地数据库:

  • 发布API
  • RESTful/Pretty Url API

虽然有很多Blogging系统和API供他们使用,但是没有一个地方你可以只写内容并让它成为一些重要的东西.对于每个应用程序,我必须使用代码来创建漂亮/宁静的网址,这样可以节省帖子.但似乎应该是一项服务!

问题是,该网站什么?... 为我的特定事业整合世界服务的地方...... 并且,叹息,存储只有我的网站可以访问的帖子.每个人都会需要"自己的博客"吗?为什么不在StackOverflow或Facebook等既定平台上创建个人资料并撰写大量内容?

...这样我可以完全没有数据库编写应用程序,并知道我做得对.

注意:当然,在某些时候你需要一个数据库,如果你做了一些独特或新的事情.但对于你只是重新布线信息或创建视频,事件和产品等内容的情况,它是否真的有必要?

Ste*_*n C 3

我认为您在问题中已经基本回答了您自己的问题:

  • 如果您能找到满足您网站持久性要求的第三方基于网络的服务,那么您的网站就不需要本地数据库。

  • 如果你不能,那么它就可以。

但“需求”问题不仅仅是技术问题。假设您确定远程数据库/持久性服务,有很多原因可能导致它不合适:

  • 它可能无法提供您的客户站点所需的详细功能;例如,执行某些类型的查询的能力、可扩展性等。
  • 考虑到客户网站的预计点击率,使用它可能太昂贵。
  • 从以下方面来看,这可能风险太大:
    • 最终用户隐私,
    • 服务可用性/可靠性,
    • 服务的长期可行性以及
    • 服务 API 的长期稳定性。

这并不是说这些担忧无法得到解决。但至少需要与客户讨论“风险”问题,因为如果情况恶化,他们最终需要处理这些问题。

然而,总而言之,本地数据库相对于远程数据库的一大优势是您和您的客户可以完全控制本地数据库。