48. 关联的大数据属于数据库

关联的大数据属于数据库

        如果你的应用程序需要处理一份很大的、持续的、关联的数据元素的集合,不要犹豫,将它存入一个关系数据库里。在过去,(RDBMS)关系数据库管理系统曾经昂贵、稀少、复杂且笨重;现在RDBMS已经很容易得到,很可能你正在使用的系统中就已经安装了一两个。有些功能强大的RDBMS,如MySQL和PostgreSQL,已经是开源软件了,于是得到时要花费的资金就不现进问题。更好的是,有所谓“嵌入式数据库”,可以直接链接到你的应用程序中的、几乎不需要安装和管理;SQLite和HSQLDB是两个它们之中很显眼的两个。这些系统都特别有效。

        如果你的应用程序的数据比系统的内存要大,RDBMS的索引化的一个表比你的映射采集类型的库在执行顺序操作时会快几个数量级,后者常常会折磨虚拟内存页。现代数据库可提供的功能可以随着你的需要轻松增长。只要处理得当,你需要的话,可以是从一个嵌入式数据库到大的数据库系统;后期,也能从一个免费的、开源的到一个有着更好的支持的和更强大的专属系统。
        一旦你熟悉了SQL,编写数据库为中心的应用程序就是一种乐趣了。在将正确标准化的数据存入数据库以后,很容易高效地用一个很易读的SQL查询将其从数据库中读取出来;不需要编写任何复杂的代码。同样地,一个简单的SQL命令可以进行复杂的数据修改。对于一次性地修改,甚至都不需要编写代码:只需要直接运用一下数据库的SQL接口;同样是这个接口,也可以让你进行各种查询试验,避免通常的编程语言的编译、修改的循环过程。
        围绕RDBMS进行编码的另一个优势在于处理数据元素之间的关系。你可以以一种声明性的方式在数据中描述固定的约束,避免当某些边际情形下忘记更新数据时产生的野指针的风险。例如,你可以指定当一个用户被删除时,该用户发送的消息是否也应该删除。
        你也可以在任意时候为数据库中存储的实体之间创建高效的连接,仅需一个简单的索引,不必进行昂贵的、大量的类字段重构。此外,围绕数据库进行编程也可以允许多个应用程序安全地访问数据。这就能很容易地把程序升级为并行使用,而且能用最合适的平台和语言开发应用程序的每一部分。比如,你可以使用Java编写XML后端的web应用,使用Ruby写审计脚本,以及Processing编写可视化的接口。

        最后,记住RDBMS需要的辛勤努力在于优化SQL命令,这就可以让你集中精力于应用程序的功能而不是算法调优。先进的数据库系统也会益于多核系统。随着技术进步,你的程序的性能也在提高。

原文:Large Interconnected Data Belongs to a Database by Diomidis Spinellis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值