存储Web应用程序数据以了解应使用哪个数据库后端时,是否应遵循一般的经验法则? 在选择时,我应该考虑每天的点击次数,数据行数或其他指标吗?

我最初的想法是执行此命令的顺序如下所示(但不一定如此,这就是为什么我要问这个问题)。

  1. 平面文件
  2. 银行
  3. SQLite的
  4. 的MySQL
  5. PostgreSQL的
  6. SQL服务器
  7. 甲骨文

===============>>#1 票数:8 已采纳

这不是那么容易。 唯一的一般经验法则是,当当前解决方案无法跟上时,您应该寻找另一种解决方案。 这可能包括使用不同的软件(不一定按任何全局固定顺序),硬件或体系结构。

使用像memcached这样的数据来缓存数据,可能会比切换到另一个随机存储后端获得更多的好处。

===============>>#2 票数:5

如果您认为自己将需要其中一种重量级工具(SqlServer,Oracle),则应从一开始就选择其中一种。 数据迁移非常困难。 从长远来看,仅从顶部开始并停留在顶部,您的花费就会减少。

===============>>#3 票数:2

我认为您的排名过于具体。 您几乎可以从平面文件之类的东西开始创建非常小的数据集,然后从DBM之类的东西开始到稍大一些的文件(不需要类似SQL的语法),然后再访问某种SQL数据库。

但是谁愿意做所有这些重写呢? 如果应用程序将从访问联接,存储过程,触发器,外键验证等中受益,则只需使用SQL数据库,而不管数据集的大小如何。

哪一个应该更多地取决于客户端的现有安装和可用的DBA技能,而不是所拥有的数据量。

换句话说,数据库的大小不是唯一的考虑因素,也许不是最重要的考虑因素。

===============>>#4 票数:1

对于这个问题,还没有明确的答案,但是总是使用平面文件并不是一个好主意。 您必须解析它们(我想),它们的伸缩性不好。 从一个合适的数据库开始,例如Oracle或SQL Server(或者MySQL,如果需要免费选项,则使用Postgres)是一个好主意。 只需很少的开销,以后您就可以省去很多工作和头痛。 它们还使您能够以非愚蠢的方式来构造数据,从而使您可以自由地思考如何处理数据,而不是如何输入/输出数据。

===============>>#5 票数:1

这实际上取决于您的数据以及打算如何使用它。 在我以前的职位之一中,由于存在本机地理位置和时区扩展,我们使用了Postgres,因为它允许我们使用多边形数据类型来管理数据。 对于我们来说,我们需要这样做,并且我们还想使用存储过程,视图等。

现在,我在另一个工作过的地方使用MySQL仅仅是因为数据是标准化的,标准的逐行数据。

SQL Server长期以来一直具有4gb的数据库限制(请参阅SQL Server 2000),但是尽管有此限制,它仍然是清除旧数据的中小型应用程序的非常稳定的平台。

现在,通过使用Oracle和SQL Server 05/08,我能告诉您的是,如果您希望获得稳定性,可伸缩性和灵活性的最佳选择,那么这两个是您的最佳选择。 对于企业应用程序,我强烈推荐它们(仅因为这就是我们现在使用的方式)。

要考虑的其他事项:

  • 语言集成(ASP.NET会话存储,角色管理等)
  • 查询类型(选择,更新,删除)[虽然这更多是模式设计问题,而不是DBMS问题)
  • 数据存储要求

===============>>#6 票数:0

您的应用程序对数据库的利用率是最关键的。 主要是最常用的查询(SELECT,INSERT或UPDATE)?

说如果您使用SQLite,它适用于较小的应用程序,但是对于“ Web”应用程序,您可能适合较大的应用程序,例如MySQL或SQL Server。

编写脚本和Web应用程序平台的方式也很重要。 如果您在Microsoft平台上进行开发,则SQL Server是更好的选择。

===============>>#7 票数:0

通常,我会使用我所使用的任何框架通常都接受的东西。 因此,如果我正在执行.NET => SQL Server,则Python(通过Django或Pylons)=> MySQL或SQLite。

我几乎从不使用平面文件。

===============>>#8 票数:0

选择仅具有“后端功能”的RDBMS解决方案还有更多。 例如,具有承诺控制能力(使您可以回滚失败的事务)是一种能力。 原因。

除非您使用兆事务速率应用程序,否则大多数数据库引擎就足够了-因此,这成为您要为该软件支付多少费用,它是否可以在所需的硬件和操作系统环境上运行以及您拥有什么专业知识的问题在管理该软件。

===============>>#9 票数:0

那进展听起来很痛苦。 如果要在任何地方包括MS产品(特别是付费SQL Server),则最好使用整个堆栈,因为您只需要为其中的最后一个付费:

SQL Server Compact -> SQL Server Express -> SQL Server Enterprise (clustered).  

如果最初将应用程序定位于SQL Server Compact,则可以保证所有SQL代码都无需进行修改即可扩展到下一个版本。 如果您的规模超过了SQL Server Enterprise,那么恭喜您。 这就是他们所说的问题。

另外:返回并检查SO播客。 我相信他们简短地谈论了这一点。

===============>>#10 票数:0

这个问题确实取决于您的情况。

如果您可以控制要部署到的服务器,并且可以安装所需的任何服务,那么花时间安装MySql或MSSQL Express服务器并针对现有数据库框架进行编码,而不是针对平面文件结构进行VERSUS编码考虑。

===============>>#11 票数:0

那FireBird呢? 那将适合那个清单呢?

===============>>#12 票数:0

并且不要忘记解决方案的“客户”也必须具备的要求。 如果您为小型公司编写商业应用程序,那么Oracle可能不是一个不错的选择……但是,如果您为大型企业编写自定义解决方案,则该解决方案必须在多个园区之间共享数据,并且拥有一个规模庞大的IT部门,那么, Oracle vs Sql Server的决定将取决于客户最有可能已经部署了什么。

由于我们拥有来自Embarcadero的出色工具,因此如今的数据迁移并没有那么糟糕,因此我应该让客户需求来驱动决策。

===============>>#13 票数:0

如果可以选择SQL Server,那么从一开始便是一个不错的选择,主要是因为您可以使用可靠的过程和功能,并且数据库备份工具是完全可靠的。 在数据库内部尽可能多地封装逻辑(而不是使用任何语言)有助于提高安全性和性能-确实有一个很好的论点,就是始终使用插入/更新逻辑过程,因为这些使您不受注射攻击的影响。

如果可以选择的话,唯一一次我会考虑优先使用MySQL是使用大型的,相当简单的数据库,该数据库主要用于读取访问。 这并不是要谴责最近已显着改进的MySQL,如果没有选择,我会很乐意使用,但是对于具有更新/插入活动的更复杂的系统,MSSQL通常是更好的选择。

===============>>#14 票数:-2

我认为您的名单是主观的,但我会玩的。

平面文件

银行

SQLite的

的MySQL

PostgreSQL的

SQL服务器

甲骨文

Teradata

  ask by Martin translate from so

未解决问题?本站智能推荐:

1回复

后端和前端数据库

我只是想知道哪种软件最适合创建用于Mac和PC的网络的数据库。 我必须创建要在中央计算机上设置的后端数据库。 每个人都将在整个办公室使用一个前端数据库来访问客户记录等。还有谁知道关于数据库拆分的任何优秀教程?
1回复

Django:检测数据库后端

我在Django中做了一些需要同时处理sqlite和postgres的“额外”查询。 这些查询的语法在后端之间有所不同,但我无法弄清楚我是否将查询发送到postgres或sqlite。 有没有办法获取当前的数据库适配器,以便我可以分支我的代码并为活动数据库服务器发送正确的查询?
1回复

使用shopify数据库/后端

所以我想在Shopify网站上添加一个新页面,我创建了该页面,并向用户询问了一些信息。 我的问题是如何在Shopify上保存这些信息。 我理解PHP和JavaScript,但我不感兴趣的是Shopify中的工作流程。 当我的客户输入他们的信息时,Shopify在哪里存储数据? 我应该用什
2回复

后端.Net程序可与数据库一起使用

我正在为学校分配项目,可能有问题。 我正在创建一个有关预订和广告的Web门户。 单个广告的预订会存储在一行中,每当其中一个预订过期(持续时间: 5天 )时,都应将其标记为expired ,而该行中的下一个预订的序列号应为1,并标记为处于活动状态(正在等待)。 我需要一个解决方案来做到这
2回复

我的应用程序的数据库后端

我正在开发一个小应用程序。 我使用数据库Parse.com对用户进行身份验证并进行推送。 由于Parse.com在一年后关闭,我想切换到另一个平台。 你对我有什么建议? 谢谢。
1回复

可以将hadoop用作Rails应用程序上的ruby的数据库/后端吗?

有人可以告诉我,因为我的应用程序包含大量数据,所以我们可以将hadoop用作我的ruby on rails应用程序的后端。 谢谢
1回复

前端,后端,数据库,云功能

我只是想对开发中的整个堆栈有一个更好的理解,所有不同的框架等都让我感到困惑,我只想尝试把所有事情都包裹住。 主要问题是:前端,后端,数据库之间的主要区别是什么?Google Cloud Functions之类的内容如何适合所有这些? 例如,ReactJs是一个前端框架(技术库),可帮助您
1回复

如何在不使用任何库的情况下从前端和后端连接到数据库(PostgreSQL)

请说明如何在不使用任何库的情况下从Web应用程序访问数据库。 我想在不使用任何库的情况下进行查询和其他数据库操作。
2回复

数据库设计:更好地存储更多列,还是在后端使用单个列和字典?

我正在构建一个网络应用程序,该应用程序需要使用首选项并将其保存。 我要保存的数据集将由一个唯一ID,一个搜索字符串和一些有限的参数列表组成,这些参数可以表示为True或False。 参数列表最多可以说10个。 我还没有决定我要使用哪种类型的数据库,但假设它具有行和列,将ID,搜索字
5回复

是否可以将Google App Engine用作Android应用程序的后端数据库?

我想为Android编写一个使用Google App Engine作为数据库后端的客户端应用程序。 我的Android客户端将连接到App Engine以保存信息,然后它将在以后连接报告。 是否可以将App Engine用作这样的后端?