原文:数据库已死
这是 Jdon 作者写的一篇文章,十一无事,读了这篇文章。下面谈谈我的看法。
此文章最基本的一个思想就是说数据库现在已经成为网络应用和企业应用发展的一个瓶颈,MySpace便是一个例子。要改变这个现状,就要改变以数据库作为应用中心的结构,转而使用 Java EE 中间件作为应用的核心,而数据库至多是将数据持久化的地方。和操作系统一样,数据库将来的角色只是应用运行的基础平台。
这个观点我是同意的。对于过去以数据库为核心的,很多逻辑用视图、存储过程实现的老系统我接触的不多,当然也不清楚这样的系统如何扩展。文章提到了中型机,我对那东西更是不了解,但应该是很大很贵的东西。所以,如果一个系统能用二十台 PC 达到原来需要中型机才能达到的效果,这样的架构的可扩展性自然是很好的。
说到 Java EE 应用的可扩展性,我又想起了
Terracotta。它是一个 JVM-Level 的集群解决方案。JVM-Level 即意味着你不需要在你的代码中使用 Terracotta 的 API。Terracotta 对于你的应用来说几乎是完全透明的(因为你还是需要做一些配置)。Terracotta 可以使你的应用仿佛运行在一个巨大的 Heap 上(通过无缝整合每台服务器上的 Heap)。同时,诸如分布式同步等复杂问题,Terracotta 都会帮你解决好。总之,Terracotta 可能就是解决很多应用的扩展性问题的良药。当然,Terracotta 不会是完美的,但至少它带给了我们以希望。
像 Terracotta 这样的技术的兴起(从出现到流行,应该还有很长的路要走),都在告诉我们在系统架构设计的时候,都要弱化数据库的地位,将来数据库的作用将只是应用运行的基础环境(Terracotta 也有数据持久化到磁盘的功能,在某些方面可以取代数据库)。新系统的架构的设计要尽可能地从 OO 角度出发。
总之,随着技术的发展,数据库将逐渐失去它在企业应用中的重要地位,虽然它不会完全淡出。
分享到:
相关推荐
在IT行业中,数据库同步是一个关键话题,特别是在分布式系统和企业级应用中,多个数据库的同步是确保数据一致性、完整性和高可用性的重要手段。本文将深入探讨如何使用Java来实现多个数据库之间的数据同步。 首先,...
这个数据库的主要目的是为了提供一个全面、准确的高校信息源,以便用户在社区环境中进行交流、分享和查询。数据库的构成主要由三个核心文件组成:`schools.sql`、`univs.sql`和`provinces.sql`。 `schools.sql` ...
可用这个工具,先在程序员电脑上运行本工具,填 上数据库 属性,按'读源数据',然后把这个工具程序及同目录 下的sour ce.mdb一起拿到客户的电脑上,运行,填上数据库属 性,按'比 对',然后按'执行',一切都OK了!
事务管理是数据库系统中另一个重要的话题。事务是一组数据库操作,它们要么全部完成,要么全部不完成,确保了数据库的一致性。ACID(原子性、一致性、隔离性和持久性)是事务处理的基本原则,它们确保了即使在系统...
通过理解这个模型,我们可以深入理解如何在SQL Server数据库中建立和操作这些实体之间的关系。 首先,我们来详细解释这三个实体: 1. **学生实体(Students)**: 这个实体包含了有关学生的数据,如学号...
当打开或者读写Access数据库发生3343(数据库格式无效或者数据库格式不可识别)等错误时,请尽快终止程序运行,将有问题数据库文件复制到一个文件夹中。然后使用Microsoft Access创建一个空的数据库文件db1.mdb后关闭...
这个过程涉及到多个技术领域,包括 Android 开发、服务器端开发、数据库操作等。 知识点一:Android 客户端连接服务器 在 Android 应用程序中,客户端连接服务器端可以通过 HTTP 或 HTTPS 协议来实现。其中,HTTP ...
在使用采用sqlserver作为数据库的大型软件,因断电、异常操作、磁盘物理坏道等引起的数据库出现“置疑”标志,可以通过这个工具快速修复。 这个工具的原理很简单:新建同名数据库,然后用出现质疑的数据库数据文件...
不过,我将根据标题、描述以及文件名中提及的“Visual C++数据库开发经典实例精解”这一主题,为您提供与该主题相关联的知识点。 Visual C++数据库开发是面向数据库编程的一个领域,主要侧重于使用Visual C++这一...
【QQ数据库】是一个与SQL相关的主题,这通常指的是与腾讯公司旗下的即时通讯软件QQ相关的数据库设计、管理和查询。在IT领域,尤其是服务器管理和数据库管理中,掌握SQL(Structured Query Language)是至关重要的。...
在IT行业中,数据库同步是一个常见的需求,特别是在分布式系统或者数据备份场景下。本文将深入探讨如何使用Java编程语言实现从一个数据库中定时自动抽取数据并复制到另一个数据库,以达到数据库间的实时或近实时同步...
本文将深入浅出地介绍数据库学习入门及基础概念,旨在帮助初学者快速掌握这一关键技术。 首先,理解数据库的基本概念至关重要。数据库可以被视为一个有序的数据集合,这些数据按照特定的方式组织,以便高效地检索、...
在数据库管理系统中,数据库字典是一个存储元数据的结构,它包含了关于数据库中所有对象(如表、视图、索引等)的信息。这些信息包括对象的名称、类型、创建日期、大小、权限以及字段定义等。对于用友商贸通这样的...
此数据库包含三个表: nobook_city :城市表 nobook_school:学校表 nobook_schooltype: 学校类型表 具体使用方式: 导入数据库后,通过省份城市及学校类型进行筛选,并且学校数据表已经设置首字母,所以可以根据首...
在本文中,我们将深入探讨如何在Delphi编程环境中利用SQLite3数据库系统,特别是关于本地数据库与内存数据库的使用。SQLite3是一种轻量级、自包含的数据库引擎,它不需要独立的服务器进程,使得在Delphi应用程序中...
这种情况下,数据一致性变得至关重要,这就引入了"跨多个数据库操作"的概念。为了保证数据的一致性,我们需要一种机制来协调这些数据库间的操作,这就是"用事物关联起来"的关键。 事务(Transaction)是数据库操作...
北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风贸易数据库北风...
本次考试试题内容广泛,不仅包括数据库设计、SQL查询等基础知识,还涉及事务处理、数据库安全和数据恢复等高级话题,全面覆盖了数据库系统的核心知识点。 在数据库设计方面,试题要求学生能够熟练运用ER模型进行...
它从软件的功能、性能、接口、数据、安全性等方面详细阐述需求,并提供了一个关于数据库设计和实现的完整视图。这份模板的使用,能够确保软件开发的每个阶段都有明确的指导和依据,极大地提高了软件开发的规范性和...
对SCI数据库的有效利用的介绍,帮助利用SCI数据库