c# - 选择数据库结构/引擎的指南

标签 c# sql oracle nosql ravendb

在我的工作场所,我们偶然发现了一个问题,我们需要创建一种 list 应用程序,它为每个对象存储不同类型的属性,并具有动态处理属性/列的能力,即我们不想每次现有对象的新属性(例如,现在我们需要考虑蓝牙硬件!)或当一个新对象完全出现时(现在我们需要考虑游戏 handle !),都必须修改应用程序。这些对象当然必须是可读和可编辑的。

虽然我们以传统的 SQL 为中心(Oracle、MySQL、MSSQL),但我并不反对以任何其他方式(例如,NoSQL)进行操作的可能性,对此我们从未处理过并且有点忘记了.然而,我们需要使用 ASP.NET MVC 进行开发。

任何指导将不胜感激。 :)

最佳答案

实际上,您描述的问题可以通过关系数据库完美解决,但您的团队需要更多时间。我认为文档数据库是您更好的选择。 RavenDB 是一个很棒的文档数据库,它结合了关系数据库和文档数据库的优点。它完全符合 ACID,它有一个很棒的 Linq 提供程序,而且速度非常快,尤其是最新版本。

所以我的建议是,在尝试之前你永远不会知道确切的答案。到目前为止,我在 ravendb 上遇到的唯一问题是掌握索引。该文档缺少一些重要说明,我希望 Ayende 能尽快解决这个问题,否则,就去做吧。

顺便说一句,您也可以试试 MongoDB。它不符合 ACID,它也没有 Linq 提供程序,并且编写查询比您猜想的 RavenDB 更难,但它是用 C++ 编写的,具有原子 I/O 操作并且非常非常快。

关于c# - 选择数据库结构/引擎的指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9600366/

相关文章:

c# - Visual Studio 引用不再存在的命名空间

sql - 如果找不到记录,使 PostgreSQL 返回值

mysql - 如何根据另一列的值获取单行值?

sql - Oracle 中不同计数的总和

c# - 选择 HTML.RadioButtonFor 后如何为模型属性赋值

c# - 从注册表读取 DigitalProductId 返回 null

c# - Linq To SQL 问题 - 没有支持的 SQL 转换(C# 属性问题)

sql - AWS Athena 从选择查询创建表

oracle - 问题 ORA-00001 : unique constraint violated coming in INSERT/UPDATE

java - 如何将模式/其他用户添加到给 java 的数据库 url?