JDK
Sun JDK
http://java.sun.com/javase/downloads/index.jsp
IBM JDK
http://www.ibm.com/developerworks/java/
http://www.ibm.com/developerworks/cn/java/
IDE:
Eclipse
http://www.eclipse.org/
Container:
Apache HTTP server
http://www.apache.org/
Tomcat: JSP,Servlet,JavaBean container.
http://tomcat.apache.org/
Websphere Application Server
WPS
WebLogic
DBMS: RDBMS
MySQL
http://www.mysql.com/
http://www.mysql.cn/
http://dev.mysql.com/
MyISAM,
http://dev.mysql.com/doc/refman/5.0/en/myisam-storage-engine.html
InnoDB
http://www.innodb.com/
Oracle
DB2
SQL Server
Sybase
Informix
PostgreSQL PostgreSQL
DBMS: Files DBMS, non-RDBMS, 文件数据库, NoSQL
NoSQL, Not Only SQL
http://nosql-database.org/
Sqlite
Berkerley DB
Firbird
InterBase SQL
DBMS: Key-value
百度新浪Mixi和Apache赞助的开源key-value分布式存储系统
Hypertable:
它是搜索引擎公司Zvents根据Google的9位研究人员在2006年发表的一篇论文《Bigtable:结构化数据的分布存储系统》开发的一款
开源分布式数据储存系统。Hypertable是按照1000节点比例设计,以 C++撰写,可架在 HDFS 和 KFS 上。尽管还在初期阶段,但已
有不错的效能:写入 28M 列的资料,各节点写入速率可达7MB/s,读取速率可达 1M cells/s。Hypertable目前一直没有太多高负载
和大存储的应用实例,但是最近,Hypertable项目得到了百度的赞助支持,相信其会有更好的发展。
Tokyo Tyrant:
它是日本最大的SNS社交网站mixi.jp开发的 Tokyo Cabinet key-value数据库网络接口。它拥有Memcached兼容协议,也可以通过
HTTP协议进行数据交换。对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久
存储的。Tokyo Tyrant 具有故障转移、日志文件体积小、大数据量下表现出色等优势,详见:http://blog.s135.com/post/362.htm
CouchDB:
它是Apache社区基于 Erlang/OTP 构建的高性能、分布式容错非关系型数据库系统(NRDBMS)。它充分利用 Erlang 本身所提供的高
并发、分布式容错基础平台,并且参考 Lotus Notes 数据库实现,采用简单的文档数据类型(document-oriented)。在其内部,文
档数据均以 JSON 格式存储。对外,则通过基于 HTTP 的 REST 协议实现接口,可以用十几种语言进行自由操作。
MemcacheDB:
它是新浪互动社区事业部为在Memcached基础上,增加Berkeley DB存储层而开发一款支持高并发的分布式持久存储系统,对任何原有
Memcached客户端来讲,它仍旧是个Memcached,但是,它的数据是可以持久存储的。
Memcached
SimpleDB
Others key-value DBMS, language:
Project Voldemort, java
Ringo, Erlang
Scalaris, Erlang
Kai, Erlang
Dynomite, Erlang
ThruDB, C++
Cassandra, java
HBase, java
Hadoop
Voldemort
Terracotta
Google DBMS: Fusion Tables, BigTable, MapReduce
Fusion Tables基于Data-space技术
Bigtable: A Distributed Storage System for Structured Data
Facebook: Cassandra
Amazon:
open DATABASE ALLIANCE
http://odba.org/
BBS, community:
http://www.javaeye.com/
http://java.chinaitlab.com/
http://www.cn-java.com/www1/
Web related Standard & Organization:
W3C - World Wide Web Consortium (W3C)
http://www.w3.org/
OASIS(the Organization for the Advancement of Structured Information Standards)
http://www.oasis-open.org/home/index.php
UDDI - SOA, Web Service related.
http://www.uddi.org/
http://www.w3schools.com/sql/default.asp
http://www.w3schools.com/sitemap/sitemap_tutorials.asp
some URL:
http://database.51cto.com/art/200907/134015.htm
http://database.51cto.com/art/200906/129285.htm
http://database.51cto.com/art/200905/123818.htm
http://1978th.net/
http://nosql-database.org/
http://yangzb.javaeye.com/blog/592681
http://timyang.net/data/mcdb-tt-redis/
========================================================
对SQL说不!NoSQL的数据库技术革命
就像当年波士顿的爱国者为反抗英国重税的行动一样,NoSQL的支持者们从各地涌来,分享他们如何推翻缓慢而昂贵的关系数据库的
暴政,怎样使用更有效和更便宜的方法来管理数据,他们开始对SQL说不!
http://database.51cto.com/art/200907/134015.htm
keywords:
ORMs(Object Relational Mapping对象关系映射)
Ruby on Rails Active Record 和 Hibernate
Struts
Spring
JSF
Ajax
面向对象式数据库(Object databases)最早出现于19世纪80年代, Ray Ozzie 于19世纪90年代最早将它商用于Lotus Notes的文档数
据存储业务。
横向和纵向扩展能力 – 关系型数据库(传统的数据库)通常部署在一台服务器上,通过增加处理器、内存和硬盘来进行升级。部署在
多台服务器上的关系型数据库通常是依赖相互复制来保持数据同步。NoSQL 数据库可以部署在单服务器上,但更多的是部署成云状分
布式 (NoSQL:分布式和可扩展的非关系型数据库系统)。
列,key/value存储,数组(Tuples)存储 – 关系型数据库通常是有表或视图里的字段构成(固定的结构,用各种操作相互关联)。
NoSQL 数据库通常存储的是一对键值或 数组式(Tuples) (结构不固定,只是一个有顺序的数据队列)。
数据的内存和硬盘使用 – 关系型数据库通常是驻留在一个硬盘内或一个网络存储空间里。SQL查询或存储过程操作会把数据集提
取到内存空间里。一些 (并不是全部) NoSQL 数据库可以直接在硬盘上操作,也可以通过内存来加快速度。
面向文档型(Document-Oriented), 面向集合型(Collection-Oriented), 面向列型(Column-Oriented);
面向对象型(Object-Oriented), 面向有序集合型(Set-Oriented), 面向行型(Row-Oriented)。
NoSQL 数据库里的数据通常是存储成对象、key/value、或数组(tuples)形式。 NoSQL 数据库的查询操作通常由编程代码或一个接口
完成。
在一次邮件交流里,Charlie Caro 对我说了下面的话:”如果 Facebook 需要去管理 100,000,000个用户的个人信息,一个分布式的
、不依赖于环境的,key-value形式的存储模式是最适合不过了。在这样大数量的用户里查询会没有问题,但只要一个用户的更新操
作就可能让传统的数据库过载宕机。多用户读数据时一个用户更新数据,这需要并发控制。在多数情况下,NoSQL方案之所以能吸引
它的用户群的原因是它的易于安装和使用的特征,SQL数据库需要较多的运行条件(schema 等),但正是这些schema方案给了并行关系
型数据系统的高性能。易使用的好处更多的是体现在编程开发的时候。今天的许多程序员都更倾向于使用脚本语言,而不是相同功能
的更安全的静态类型检查的编译型语言。脚本型语言只是容错性强和易于上手,有些软件能把这些脚本程序编译成.NET/Java字节码
来提高运行性能。” 我和他都认为,所有的这一切都是为了让我们在工作中有更好的工具使用,而且从来都是这样!当有螺丝刀时谁
还用锤子去钉螺丝钉。
亚马逊的关系数据库服务(Relational Database Service,RDS)给了人们一个云环境中的MySQL数据库服务器。
那么,亚马逊为什么要发展RDS呢?特别是,为什么又选择了RDS来超过SimpleDB呢?
不要叫它们数据库。Amazon.com的首席技术官Werner Vogels将他们的重要的Dynamo系统称作“高可用性的键值商店”。Google将自己
的BigTable称作“管理结构化数据的分布式存储系统”,
“SQL并非适用于所有的程序代码,”数据库分析师Curt Monash说。对于那些繁重的重复操作的数据,SQL值得花钱。但是当数据库结
构非常简单时,SQL可能没有太大用处。
“大多数大型企业已经习惯于使用关系型数据库管理系统。因此他们会想为什么要改变呢?”Monash说。比如MapReduce和类似的项目“
对企业有意。但是在具体使用时,它很可能会和一个分析DBMS(数据库管理系统)相集成。”
编程就是人生!