简单的说,数据库(英文database)就是一个存放数据的仓库,这个仓库是按照一定的数据结构来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。
早期,数据库根据不同的数据模型(数据的表现形式),主要分为:层次型数据库、网络型数据库、关系型数据库。
说明: (1) 对于层次型数据库和网络型数据库,如果不了解相应的数据结构,就无法对数据进行读取,它们对数据结构的依赖性很强。因此,它们需要专业的工程师使用特定的计算机程序进行操作。 (2) 关系型数据库将作为操作对象的数据和操作方法(数据之间的关联)分离开来,消除了对数据结构的依赖性,让数据和程序的分离成为了可能.
说明: 针对大量数据的写入问题的解决方案如下: (1) 增加从数据库来实现规模化的数据读取(数据的写入由主数据库负责,数据的读取由从数据库负责) (2) 要想将数据的写入规模化,可以考虑把主数据库从一台增加到两台,作为互相关联复制的二元主数据库来使用。
注意:这样做,看似可以把每台主数据库的负载减少一半,但是更新说出来会发生冲突(同样的数据在两台服务器同时更新成其他值),可能会造成数据的不一致。为了解决这样的冲突,就需要把对每个表的请求分别分配给合适的主数据库来处理。
(3) 将数据库进行分割,分别放在不同的数据库服务器上,比如:将这个表放在这台数据库服务器上,将那个表放在那台数据库服务器上。
注意:
(1)数据库分割可以减少每台数据库服务器上的数据量,以便减少硬盘输入输出的处理,实现内存上的高速处理,效果显著。
(2)由于分别存储在不同服务器上的表之间无法进行JOIN处理,数据库分割的时候就需要预先考虑这些问题。数据库分割后,如果一定要进行JOIN处理,就必须要在程序中进行关联(这一点比较困难)