官术网_书友最值得收藏!

A brief history

Broadly, the term database can be used to present a collection of things. Moreover, this term brings to mind many other terms including data, information, data structure, and management. A database can be defined as a collection or repository of data, which has a certain structure, managed by a database management system (DBMS). Data can be structured as tabular data, semi-structured as XML documents, or unstructured data that does not fit a predefined data model.

In the early days, databases were mainly aimed at supporting business applications; this led us to the well-defined relational algebra and relational database systems. With the introduction of object-oriented languages, new paradigms of database management systems appeared such as object-relational databases and object-oriented databases. Also, many businesses as well as scientific applications use arrays, images, and spatial data; thus, new models such as raster, map, and array algebra are supported. Graph databases are used to support graph queries such as the shortest path from one node to another, along with supporting traversal queries easily.

With the advent of web applications such as social portals, it is now necessary to support a huge number of requests in a distributed manner. This has led to another new paradigm of databases called NoSQL (Not Only SQL), which has different requirements such as performance over fault tolerance and horizontal scaling capabilities. In general, the timeline of database evolution was greatly affected by many factors such as the following:

  • Functional requirements: The nature of the applications using a DBMS has led to the development of extensions on top of relational databases such as PostGIS (for spatial data) or even dedicated DBMS such as SciDB (for scientific data analytics).
  • Nonfunctional requirements: The success of object-oriented programming languages has created new trends such as object-oriented databases. Object relational database management systems have appeared to bridge the gap between relational databases and the object-oriented programming languages. Data explosion and the necessity to handle terabytes of data on commodity hardware have led to columnar databases, which can easily scale up horizontally.
主站蜘蛛池模板: 罗甸县| 呼和浩特市| 油尖旺区| 通榆县| 酉阳| 息烽县| 博客| 宿州市| 容城县| 邵阳市| 柘荣县| 来安县| 扶风县| 祁东县| 大港区| 云安县| 峨眉山市| 井研县| 西林县| 新乡市| 萝北县| 达州市| 民勤县| 辽阳市| 阆中市| 安顺市| 静海县| 四会市| 德惠市| 黄梅县| 罗甸县| 巴彦淖尔市| 北京市| 务川| 双流县| 阿城市| 融水| 丹江口市| 西盟| 乐平市| 天津市|