原文:数据库已死
这是 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` ...
当打开或者读写Access数据库发生3343(数据库格式无效或者数据库格式不可识别)等错误时,请尽快终止程序运行,将有问题数据库文件复制到一个文件夹中。然后使用Microsoft Access创建一个空的数据库文件db1.mdb后关闭...
在IT行业中,数据库同步是一个常见的需求,特别是在分布式系统或者数据备份场景下。本文将深入探讨如何使用Java编程语言实现从一个数据库中定时自动抽取数据并复制到另一个数据库,以达到数据库间的实时或近实时同步...
这个过程涉及到多个技术领域,包括 Android 开发、服务器端开发、数据库操作等。 知识点一:Android 客户端连接服务器 在 Android 应用程序中,客户端连接服务器端可以通过 HTTP 或 HTTPS 协议来实现。其中,HTTP ...
不过,我将根据标题、描述以及文件名中提及的“Visual C++数据库开发经典实例精解”这一主题,为您提供与该主题相关联的知识点。 Visual C++数据库开发是面向数据库编程的一个领域,主要侧重于使用Visual C++这一...
【QQ数据库】是一个与SQL相关的主题,这通常指的是与腾讯公司旗下的即时通讯软件QQ相关的数据库设计、管理和查询。在IT领域,尤其是服务器管理和数据库管理中,掌握SQL(Structured Query Language)是至关重要的。...
此数据库包含三个表: nobook_city :城市表 nobook_school:学校表 nobook_schooltype: 学校类型表 具体使用方式: 导入数据库后,通过省份城市及学校类型进行筛选,并且学校数据表已经设置首字母,所以可以根据首...
下面我们将详细探讨这个数据库的价值以及如何有效利用它。 首先,数据库的完整性是其突出特点。31851个成语几乎囊括了我们日常生活中所能接触到的所有常用及生僻成语,无论是耳熟能详的“亡羊补牢”,还是鲜为人知...
这种情况下,数据一致性变得至关重要,这就引入了"跨多个数据库操作"的概念。为了保证数据的一致性,我们需要一种机制来协调这些数据库间的操作,这就是"用事物关联起来"的关键。 事务(Transaction)是数据库操作...
这个数据库系统具有基本的SQL操作功能,如SELECT、INSERT、CREATE以及DELETE,是哈工大软件设计课程中的一项实践任务,旨在帮助学生理解和掌握C++编程语言以及数据库管理系统的基础原理。 一、C语言基础 C语言是一...
"wi6.0数据库(随心所欲XP工作站医疗数据库)"这个标题揭示了我们讨论的是一个特定版本的数据库系统,用于超声随心所欲XP工作站,这是一款专为医疗行业设计的工作站软件。数据库在医疗行业中起着至关重要的作用,...
在这个课程设计中,你将学习到如何使用SQL Server来构建和管理数据库,包括数据库的创建、数据表的设计、索引的建立以及安全性设置。 JAVA是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性...
Qt是一个功能强大的C++工具包,广泛应用于图形用户界面(GUI)开发,同时也提供了丰富的数据库接口。通过Qt的模型视图组件,我们可以方便地与各种数据库进行交互,并将数据展示在用户友好的界面中。 首先,让我们...
通过阅读《数据库原理及应用》这本书,读者不仅可以掌握数据库的基础知识,还能了解到最新的数据库技术趋势,提升在实际工作中的数据库设计和管理能力。无论你是计算机科学的学生,还是IT行业的从业者,这本书都将是...
本站每几天不定期更新全国飞机航班数据库(如有重大变动会立即更新)以确保全国飞机航班数据库始终保持在最新状态,目前全国飞机航班数据库已经是最新时刻表状态。由于全国飞机航班数据库由程序运行得出,可能与实际...
这份报告模板涵盖了数据库设计的多个关键方面,从高层次的概念设计到低层次的物理实现,再到数据库的使用和管理,确保了全面且系统化的数据库设计过程。这样的报告是评估和实施数据库项目的基础,有助于确保数据库的...
数据库的核心组成部分是表,这个"全国省市县籍贯数据库"很可能包含了一个或多个表,每个表代表一类信息,如“省份”、“城市”和“县区”。这些表可能通过字段关联起来,比如每个县区会关联到其所属的城市和省份,...
词典数据库