VMDS: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Fitur saranan suntingan: 3 pranala ditambahkan. Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala |
|||
(22 revisi perantara oleh 13 pengguna tidak ditampilkan) | |||
Baris 1:
'''VMDS''' singkatan dari ''Version Managed Data Store'' adalah sebuah database relasional yang dikembangkan oleh perusahaan Amerika untuk sumber tenaga ''General Electric (GE) Energy'' yang merupakan bagian dari [[Smallworld]] dan didesain untuk menyimpan dan
VMDS diperkenalkan pertama kali pada tahun 1990 dan terus dikembangkan hingga saat ini sudah mencapai versi 6.0.
VMDS memang didesain untuk menyimpan data spasial. Hal ini menjadikannya memiliki beberapa karakteristik yang berbeda dengan database relasional biasa.
== Pemrosesan Data Terdistribusi (Distributed server processing) ==
VMDS disusun atas dua bagian:
* Blok data [[server]] yang disebut '''SWMFS''' (Smallworld Master File System) dan
* Intelligent client [[API]] yang ditulis dengan bahasa [[C]] dan [[Magik]].
Data spasial beserta attributnya disimpan dalam blok data pada file khusus yang dinamakan data store (*.ds) di server. Ketika aplikasi [[client]] meminta data ke server maka inttelligent yang akan memberikan blok data sesuai permintaan dengan mengirimkannya melewati jaringan untuk kemudian diproses.
Baris 14:
Konsep yang diterapkan ini dianggap sangat efisien karena data yang dikirim adalah data spasial yang bisa jadi sangat besar volumenya (sebagai contoh permintaan untuk menggambar ulang peta/''map redraw operation''). Dan dengan konsep inilah menjadikan VMDS sangat cocok untuk diterapkan pada pekerjaan besar yang melibatkan ratusan bahkan ribuan client yang bekerja bersama-sama.
== Mendukung Pemrosesan Transaksi Dalam Jumlah Besar ==
Pada umumnya [[database]] relasional mendukung pemrosesan transaksi yang tidak besar
VMDS mendukung pemrosesan transaksi dalam jumlah besar
Pada saat pemrosesan transaksi dilakukan, bisa saja terdapat banyak perubahan pada data (tidak hanya dalam lingkup transaksi saja, tapi juga meliputi database secara keseluruhan), misalnya satu record dapat mengalami perubahan lebih dari satu kali. Untuk mengatasi hal ini, VMDS memiliki kemampuan [[internal]] secara otomatis mengatur konflik yang terjadi dan menampilkan daftar perubahan yang pernah terjadi sehingga kita bisa memilih perubahan yang benar saja.
== Kemampuan
Disamping memiliki fitur seperti database relasional biasa macam ''query data, join fields, triggers dan calculated fields'', VMDS memiliki fitur khusus untuk spasial dan [[topologi]] (seperti ''points, texts, polylines, polygons and data raster'') untuk disimpan dan
Fungsi-fungsi untuk data spasial termasuk
Data dalam bentuk [[vektor]] semacam point, polyline and [[Polygon (situs web)|polygon]] dan diberi attribut topologi sehingga model jaringan yang kompleks dapat dibuat. Sehingga mesin
== Semua Data adalah
Dalam VMDS, semua data adalah
yang
# Variabel my_rwos menampung semua rwos dalam database dan semua yang terkait dengannya
Baris 40:
jumlah_pelanggan<< demand_points.size
Query yang dibuat dengan menggunakan objek predicate:
==Pranala Luar==▼
*[http://www.gepower.com/prod_serv/products/gis_software/en/smallworld4.htm Smallworld Product Suite Technology]▼
# Mencari jumlah pelanggan yang statusnya 'Beroperasi'.
pel_operasi << demand_points.select(predicate.eq(:status, "Beroperasi"))
jumlah_pelanggan << pel_operasi.size
_for pelanggan _over pel_operasi.elements()
_loop
write(pelanggan.nama)
_endloop
Joins di implementasikan sebagai methods di parent RWO. Sebagai contoh seorang manajer mungkin memiliki beberapa orang karyawan:
# Dapatkan data karyawan
employees << app.database.collection(:gis,:employees)
# Cari nama manager 'Steve' dan dapatkan nama karyawan yang pertama kali ditemukan
steve << employees.select(predicate.eq(:name, "Steve").and(predicate.eq(:role, "manager")).an_element()
# Tampilkan semua nama karyawan yang memiliki manajer dengan nama 'Steve'
_for employee _over steve.direct_reports.elements()
_loop
write(employee.name)
_endloop
Melakukan Insert data Transaksi:
# Setiap key dalam hash table merujuk pada nama kolom dalam tabel (collection)
data_pelanggan << hash_table.new_with(
:id, 57648576,
:status, "Beroperasi")
# Dapatkan semua data pada collection demand_point
demand_collection<< app.database.collection(:electric,:demand_point)
# Buat suatu transaksi insert untuk menambahkan data valve yang baru kedalam collection
# Komentar dapat ditambahkan untuk memudahkan pembaca kode program
transaction << record_transaction.new_insert(demand_collection, data_pelanggan, "Insert [[Valve Corporation|Valve]] baru")
transaction.run()
== Lihat pula ==
* [[Magik|Bahasa Pemrograman Magik]]
▲* [http://www.gepower.com/prod_serv/products/gis_software/en/smallworld4.htm Smallworld Product Suite Technology]
[[Kategori:Sistem manajemen basis data]]
|