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

前端之家收集整理的这篇文章主要介绍了ruby – 网站是否需要本地数据库?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

If there’s a better place to ask this,please let me know.

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

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

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

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

Most serIoUs database/model functionality has been built on the internet somewhere.

仅举几个:

>社交网络API:Facebook
>消息传递API:Twitter
>邮件API:谷歌
>事件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供他们使用,但是没有一个地方你可以只写内容并让它成为一些重要的东西.对于每个应用程序,我必须使用代码来创建漂亮/宁静的URL,这样可以节省帖子.但似乎应该是一项服务!

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

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

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

解决方法

我想你在这个问题上已经回答了你自己的问题:

>如果您能找到符合您网站持久性要求的第三方基于Web的服务,那么您的网站不需要本地数据库.
>如果你做不到,那就确实如此.

但“要求”问题不仅仅是技术问题.假设您标识了远程数据库/持久性服务,有许多原因可能不适合:

>它可能无法提供客户站点所需的详细功能;例如能够执行某些类型的查询,可伸缩性等.
>根据客户的网站预计命中率,使用它可能太昂贵了.
>在以下方面可能风险太大:

>最终用户隐私,
>服务可用性/可靠性,
>服务的长期可行性和
>服务API的长期稳定性.

这并不是说无法解决这些问题.但至少需要与客户讨论“风险”问题,因为如果事情变坏,他们最终需要处理这些问题.

但是,当完成所有操作后,本地数据库相对于远程数据库的一大优势是您和您的客户可以完全控制本地数据库.

猜你在找的Ruby相关文章