Jumat, 30 Maret 2012

Engine Database yang populer Part 4

0 comments

PostgreSQL

Sejarah PostgreSQL



Logo PostgreSQL
PostgreSQL termsuk open-source database server terdepan. Pada awalnya PostgreSQL tergolong database RDBMS, namun dengan pengembangan selama lebih dari satu dekade, kini PostgreSQL termasuk ORDBMS yang didukung oleh tim pengembang internet.


PostgreSQL bermula dari database Ingres yang dikembangkan di Universitas California, Berkeley (1977-1985) dengan project leadernya adalah Michael Stonebraker. Pengkodeannya diambil dan dikembangkan oleh Relational Technologies / Ingres Corporation yang menghasilkan suatu relational database server komersil yang pertama. Ingres Corporation kemudian dibeli oleh Computer Associates.

Masih di Berkeley, Professor Michael Stonebraker dengan dibiayai Defense Advanced Research Project Agency (DARPA), Army Research Office (ARO), National Science Foundation (NSF), dan ESL Inc, memimpin sebuah tim untuk mengembangkan object relational database server yang disebut dengan Postgres. Implementasi Postgres DMBS dimulai pada tahun 1986 dan terus berkembang sampai dengan menjadi data manager utama untuk project Sequoia 2000 Scientific pada akhir tahun 1992.

Selama tahun 1993, komunitas user luar semakin meningkat jumlahnya. Hal ini tentu mengharuskan pemeliharaan terhadap kode prototip dan waktu serta ketekunan untuk pengembangan database lebih lanjut. Namun dikarenakan beban inilah maka secara resmi proyek Berkeley POSTGRES berakhir dengan versi 4.2.

Pada tahun 1994, dua mahasiswa Berkeley bernama Jolly Chen dan Andrew Yu menambahkan fitur SQL pada database Postgres yang kemudian disebut Postgres95. Postgres95 dikembangkan menggunakan ANSI C dengan melakukan perubahan internal hingga dapat meningkatkan kinerjanya. Ketika Postgres95 r1.0.x dibandingkan dengan Postgres 4.2 pada Wisconsin Benchmark, hasilnya diakui lebih cepat sekitar 30-50%.

Tahun 1996 nama Postgres95 berubah menjadi PostgreSQL yang mencerminkan keterhubungan antara database Postgres dan kemampuan SQLnya. Nomor versi untuk release pertama PostgreSQL dimulai dari nomor 6.0, bukan dari 1.0. Karena database ini bersifat open-source, pengembangannya banyak memperoleh saran dan rekomendasi dari khalayak ramai.

Berikut adalah peningkatan dan perbaikan pokok PostgreSQL:

  • Table-level locking yang telah digantikan oleh multiversion concurrency control yang memperkenankan pembacaan terhadap data yang konsisten selama proses penulisan.
  • Implementasi fitur-fitur penting untuk backend user, seperti subselect, defaults, constraint dan trigger.
  • Penambahan fitur-fitur SQL92 seperti primary keys, quoted identifiers, literal string type coercion, type casting dan inputan dengan tipe data binary dan hexadecimal integer.


Fitur-fitur PostgreSQL

Sampai saat ini, versi terbaru dari PostgreSQL adalah PostgreSQL versi 9.1 fitur-fitur di dalamnya antara lain :

  • Mendukung ANSI SQL
  • Referential Integrity
  • Memperbolehkan replikasi (baik solusi komersil dan tidak), maksudnya diperkenankan adanya duplikasi master database pada beberapa mesin slave.
  • Terdapat native interface untuk ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Phyton dan Ruby.
  • Adanya fasilitas: rules, views, triggers, unicode, sequences, inheritance, outer join, sub-selects, dan stored procedure.
  • Mendukung native SSL.
  • Terdapat autentikasi native Kerberos.
  • Adanya cross-database compatibility function untuk memudahkan transisi dari yang lain.
  • Perluasan terhadap tipe data yang baru, baik yang umum maupun yang didefinisikan oleh user.
  • Mendukung sintaks query menggunakan operasi himpunan seperti UNION, ALL dan EXCEPT.
  • Dapat dibuka dengan ekstensi yang dihasilkan SHA1, MD5, XML dan lainnya.
  • Mendukung Native Server pada sistem operasi Microsoft Windows, savepoints, tablespaces, exception handling in functions dan point-in-time recovery
  • Commit dua fase, partisi tabel, index bitmap scan, shared row locking, roles
  • Online index builds, advisory locks, warm standby
  • Full text search, SQL/XML, ENUM types, UUID types
  • Windowing functions, default and variadic parameters for functions, column-level permissions, parallel database restore, per-database collation, common table expressions and recursive queries
  • Built-in binary streaming replication, Hot standby, 64-bit Windows, per-column triggers and conditional trigger execution, exclusion constraints, anonymous code blocks, named parameters, password rules
  • Synchronous replication, per-column collations, unlogged tables, K-nearest-neighbor indexing, serializable snapshot isolation, writeable common table expressions, SE-Linux integration, extensions, SQL/MED attached tables (Foreign Data Wrappers), triggers on views





Tidak ada komentar:

Posting Komentar