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

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.
主站蜘蛛池模板: 冀州市| 哈巴河县| 绩溪县| 黑河市| 深水埗区| 资源县| 肇东市| 常山县| 巫溪县| 黑山县| 思茅市| 德保县| 西林县| 祁门县| 娄烦县| 海晏县| 镇雄县| 金华市| 藁城市| 泰来县| 拉萨市| 成武县| 赤峰市| 青河县| 福清市| 仪征市| 江陵县| 格尔木市| 泊头市| 淮滨县| 略阳县| 融水| 陵水| 金川县| 雅安市| 邵阳县| 马龙县| 喀喇| 揭西县| 县级市| 大荔县|