如何写一个轻量级分布式数据库

如何写一个轻量级分布式数据库,第1张

既然是java不如试试Derby这个数据,应该很符合你的要求而且网上资料很多哦在这里也不赘述了。

Derby是一个开源的、100%Java编写的、与平台无关的、易管理的关系数据库管理系统。Derby为用户提供了轻量的标准数据库引擎,它可以紧密的嵌入到任何基于Java的解决方案中。Derby确保数据完整性,并提供负责的事务处理 *** 作。默认的配置中不包含任何独立的数据库服务器。同时,Derby的安装过程非常简单,只需要将其jar文件复制到系统中并为您的项目添加该jar文件即可。

Derby拥有一个令人惊奇的特性列表。它可以支持关系数据库中的所有企业级的特性,包括崩溃恢复、事务回滚和提交、行/表级锁、视图、主键/外键约束、触发器、子查询表达式,等等。一部分的列表特性使Derby从其他的Java关系数据库管理系统中分离出来。

Derby可以有两种部署方式:

嵌入式:Derby被单个用户的Java应用程序使用,在这种模式下,Derby和应用程序运行在同一个JVM中。Derby对于终端用户几乎是透明的,因为它的启动和终止都是由应用程序来控制,而不需要任何的管理。

服务器模式:Derby由应用程序启动,此时通过用户可以通过网络连接。在这种模式下,Derby运行在服务器主机的JVM中。其他JVM的应用程序通过连接服务器来访问数据库。

在开发分布式应用程序时 可用性与性能是主要考虑事项 但是用数据存储解决这些问题可能会给异构数据存储之间的数据同步带来一些问题 在本文中 Jayanthi Suryanarayana 和 Neil Tunnicliffe 将提供一种解决方案 用 JDBC 和 SyncML 标准来实现通用的数据库数据复制 在设计分布式应用程序时 必须考虑可用性与性能 一般的解决方案是在客户机系统上包含数据存储 通常 由于资源有限 客户机需要一个轻量级数据存储 这种方法为异构数据存储之间的数据同步带来了挑战 这个问题的一种解决方案是采用基于 java 的方法 用 JDBC 和 SyncML 标准进行异构数据库复制 复制概述复制是在两个环境之间复制全部或部分数据库的过程 为了保持一致 对源数据库所做的更改要传播到复制的数据库中 复制可以是单向的 也可以是双向的 双向复制可能更困难一些 因为对任何数据库所做的更改都可能产生不一致的数据 当这些更改在两个数据库之间传播时 需要有一个策略来调解这些差异 以便维护一致性 ID 处理作为复制的基本需求 我们需要惟一地标识将要复制的每个数据单元 对于双向复制 还需要一个能够标识数据库之间对应数据单元的映射方案 根据复制的需求 可以采用各种各样的方案 对于单向复制 主数据库可以要求为数据单元生成 ID 对于双向复制 必须根据应用程序的 ID 生成方案定义映射方案 ID 生成方案与映射方案可以是每个数据库使用的 ID 编号的相互排斥范围 在这个范围内 ID 编号是正好匹配的 更复杂的示例中可能包括 ID 生成服务或者特定于数据库的方案 在这种情况下 必须在数据库之间维护 ID 的映射 变化检测 复制过程中的下一步是找出哪些数据单元已经更改 在关系数据库中 可以用附加字段来记录数据单元的状态和状态变化的时间戳 或者 也可以使用触发器使部分变化检测过程自动化 附加到表上的插入/更新/删除触发器可以检测到对数据单元所做的更改 并在更改日志表中记录这些更改 这样就可以用变更记录表(change log table)确定在任何指定时间上对数据单元所做的更改 复制 复制的目标是产生公共数据集的多个一致的副本 为了实现这个目标 必须交换每个数据库中检测到的更改 并使它们一致 在这里 您面临着一个设计上的挑战 您可以作出如下选择 表示将交换的那些更改的数据格式 传输机制 例如 >

新安装了

jdk

6

的程序员们也许会发现,除了传统的

bin、jre

等目录,jdk

6

新增了一个名为

db

的目录。这便是

java

6

的新成员:java

db。这是一个纯

java

实现、开源的数据库管理系统(dbMS),源于

Apache

软件基金会(asf)名下的项目

Derby。它只有

2MB

大小,对比动辄上

G

的数据库来说可谓袖珍。但这并不妨碍

Derby

功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于

asf

强大的社区力量,Derby

得到了包括

ibm

Sun

等大公司以及全世界优秀程序员们的支持。这也难怪

Sun

公司会选择其

1022

版本纳入到

jdk

6

中,作为内嵌的数据库。这就好像为

jdk

注入了一股全新的活力:java

程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。在这一章中,我们将初窥

java

db

的世界,来探究如何使用它编写出功能丰富的程序。

任何web软件和应用程序都需要强大的数据库管理工具,因此开发者选择一款合适的数据库管理工具尤为重要。霍营电脑培训列出了几款好用的数据库管理工具(有些并非开源或免费),以供开发者们参考选择:

1、MySQL管理工具phpMyAdmin

phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。

缺点:

SQL语法不高亮

2、数据库管理工具NavicatLite

Navicat是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资料库管理员、开发人员及中小企业的需求。Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。Navicat支持的数据库包括MySQL、Oracle、SQLite、PostgreSQL和SQLServer等。

Navicat提供商业版NavicatPremium和免费的版本NavicatLite。但目前Navicat已不再提供LITE版本。

缺点:

免费版本已停止更新。

3、数据库管理工具DBeaver

DBeaver是一个通用的数据库管理工具和SQL客户端,支持MySQL,PostgreSQL,Oracle,DB2,MSSQL,Sybase,Mimer,HSQLDB,Derby,以及其他兼容JDBC的数据库。DBeaver提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB数据,修改数据库结构等等。

4、MySQL数据库建模工具MySQLWorkbench

MySQLWorkbench是数据库架构师和开发人员的可视化数据库设计、管理的工具,它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQLWorkbench设计和创建新的数据库图示,建立数据库文档。它同时有开源和商业化的两个版本。可以在Windows,Linux和MACOSX上使用。

它在2016年十月份成为一个稳定的工具。

缺点:

比phpMyAdmin更复杂。

任何web软件和应用程序都需要强大的数据库管理工具,因此开发者选择一款合适的数据库管理工具尤为重要。

苏州电脑培训>

以上就是关于如何写一个轻量级分布式数据库全部的内容,包括:如何写一个轻量级分布式数据库、用SyncML进行异构数据库复制技巧、Java语言运用derby数据库实现成绩查询管理系统,百分急求可追加等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9712036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存