VMDS: Perbedaan antara revisi
Fitur saranan suntingan: 3 pranala ditambahkan. Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala |
|||
(28 revisi perantara oleh 13 pengguna tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
'''VMDS''' singkatan dari ''Version Managed Data Store'' adalah sebuah database relasional yang dikembangkan oleh GE Energy yang merupakan bagian dari [[Smallworld]] dan didesain untuk menyimpan dan |
'''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 analisis data [[spasial]] serta data topologi yang kompleks khususnya digunakan oleh perusahaan besar semacam perusahaan listrik dan telekomunikasi. |
||
VMDS diperkenalkan pertama kali pada tahun 1990 dan terus dikembangkan hingga saat ini sudah mencapai versi 6.0. |
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. |
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)== |
== Pemrosesan Data Terdistribusi (Distributed server processing) == |
||
VMDS disusun atas dua bagian: |
VMDS disusun atas dua bagian: |
||
* Blok data [[server]] yang disebut '''SWMFS''' (Smallworld Master File System) dan |
* Blok data [[server]] yang disebut '''SWMFS''' (Smallworld Master File System) dan |
||
* Intelligent client [[API]] yang ditulis dengan bahasa [[C]] dan [[Magik]]. |
* 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. |
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: | 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. |
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 di mana perubahan yang terjadi pada data relatif kecil dan durasinya pendek (periode maksimum antara mulai transaksi sampai dengan selesainya adalah beberapa detik atau lebih cepat). |
|||
==Support for long transactions== |
|||
Relational databases support [[Database transaction|short transactions]] in which changes to data are relatively small and are brief in terms in duration (the maximum period between the start and the end of a transaction is typically a few seconds or less). |
|||
VMDS mendukung pemrosesan transaksi dalam jumlah besar di mana [[volume]] data yang terlibat sangat banyak dan durasi dari transaksi sangat lama (hari, minggu atau bulan). Tipe-tipe transaksi ini umumnya terjadi pada aplikasi yang kompleks misalnya untuk keperluan [[distribusi tenaga listrik]]. |
|||
VMDS supports long transactions in which the volume of data involved in the transaction can be substantial and the duration of the transaction can be significant (days, weeks or even months). These types of transaction are common in advanced network applications used by, for example, power distribution utilities. |
|||
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. |
|||
Due to the time span of a long transaction in this context the amount of change can be significant (not only within the scope of the transaction, but also within the context of the database as a whole). Accordingly, it is likely that the same record might be changed more than once. To cope with this scenario VMDS has inbuilt support for automatically managing such conflicts and allows applications to review changes and accept only those edits that are correct. |
|||
== Kemampuan Analisis Data Spasial dan Topologi == |
|||
-- > |
|||
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 dianalisis. |
|||
Fungsi-fungsi untuk data spasial termasuk: mencari semua data dalam suatu area/polygon yang ditentukan, melakukan analisis Cluster dari sekumpulan objek point yang terseleksi. |
|||
⚫ | |||
⚫ | |||
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 analisis jaringan dapat digunakan untuk menjawab pertanyaan seperti pencarian [[rute]] terpendek untuk menuju suatu tempat atau bagaimana mengoptimasi rute untuk pengiriman barang. Mesin topologi dapat digunakan untuk mengkonfigurasikan dengan menerapkan aturan-aturan bagaimana [[entitas]]-entitas berinteraksi satu sama lain ketika ada data baru yang ditambahkan atau ada perubahan pada data. |
|||
{{software-stub}} |
|||
== Semua Data adalah Objek == |
|||
Dalam VMDS, semua data adalah objek. Hal ini berbeda dari kebanyakan database relasional yang melihat data sebagai baris dalam suatu tabel atau hasil query. VDMS memiliki tool untuk pemodelan data, sebagai bagian dari infrastruktur teknologi Smallworld |
|||
yang mengizinkan administrator untuk mengakses tabel dalam database dengan membuat suatu exemplar atau ''class'' dalam bahasa [[Magik]]. Metode get dan set dalam exemplar ini dapat dibuat secara otomatis untuk mengenali suatu kolom dalam tabel. Setiap baris dari VDMS dapat diartikan pada aplikasi sebagai suatu instant dari objek Magik dan dikenal dengan istilah RWO (''Real World Object''). Dalam Smallworld, tabel dikenal dengan nama ''collections''. |
|||
# Variabel my_rwos menampung semua rwos dalam database dan semua yang terkait dengannya |
|||
app << smallworld_product.application(:swaf_professional) |
|||
my_rwos << app.database.rwo_set() |
|||
# Variabel demand_points menampung semua data dalam collections demand_point |
|||
demand_points << my_rwos.select(:collection, {:demand_point}) |
|||
jumlah_pelanggan<< demand_points.size |
|||
Query yang dibuat dengan menggunakan objek predicate: |
|||
# 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]] |
|||
⚫ | |||
⚫ | |||
[[Kategori:Sistem manajemen basis data]] |
[[Kategori:Sistem manajemen basis data]] |
Revisi terkini sejak 13 Agustus 2024 11.25
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 analisis data spasial serta data topologi yang kompleks khususnya digunakan oleh perusahaan besar semacam perusahaan listrik dan telekomunikasi.
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)
[sunting | sunting sumber]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.
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
[sunting | sunting sumber]Pada umumnya database relasional mendukung pemrosesan transaksi yang tidak besar di mana perubahan yang terjadi pada data relatif kecil dan durasinya pendek (periode maksimum antara mulai transaksi sampai dengan selesainya adalah beberapa detik atau lebih cepat).
VMDS mendukung pemrosesan transaksi dalam jumlah besar di mana volume data yang terlibat sangat banyak dan durasi dari transaksi sangat lama (hari, minggu atau bulan). Tipe-tipe transaksi ini umumnya terjadi pada aplikasi yang kompleks misalnya untuk keperluan distribusi tenaga listrik.
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 Analisis Data Spasial dan Topologi
[sunting | sunting sumber]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 dianalisis.
Fungsi-fungsi untuk data spasial termasuk: mencari semua data dalam suatu area/polygon yang ditentukan, melakukan analisis Cluster dari sekumpulan objek point yang terseleksi.
Data dalam bentuk vektor semacam point, polyline and polygon dan diberi attribut topologi sehingga model jaringan yang kompleks dapat dibuat. Sehingga mesin analisis jaringan dapat digunakan untuk menjawab pertanyaan seperti pencarian rute terpendek untuk menuju suatu tempat atau bagaimana mengoptimasi rute untuk pengiriman barang. Mesin topologi dapat digunakan untuk mengkonfigurasikan dengan menerapkan aturan-aturan bagaimana entitas-entitas berinteraksi satu sama lain ketika ada data baru yang ditambahkan atau ada perubahan pada data.
Semua Data adalah Objek
[sunting | sunting sumber]Dalam VMDS, semua data adalah objek. Hal ini berbeda dari kebanyakan database relasional yang melihat data sebagai baris dalam suatu tabel atau hasil query. VDMS memiliki tool untuk pemodelan data, sebagai bagian dari infrastruktur teknologi Smallworld yang mengizinkan administrator untuk mengakses tabel dalam database dengan membuat suatu exemplar atau class dalam bahasa Magik. Metode get dan set dalam exemplar ini dapat dibuat secara otomatis untuk mengenali suatu kolom dalam tabel. Setiap baris dari VDMS dapat diartikan pada aplikasi sebagai suatu instant dari objek Magik dan dikenal dengan istilah RWO (Real World Object). Dalam Smallworld, tabel dikenal dengan nama collections.
# Variabel my_rwos menampung semua rwos dalam database dan semua yang terkait dengannya app << smallworld_product.application(:swaf_professional) my_rwos << app.database.rwo_set() # Variabel demand_points menampung semua data dalam collections demand_point demand_points << my_rwos.select(:collection, {:demand_point}) jumlah_pelanggan<< demand_points.size
Query yang dibuat dengan menggunakan objek predicate:
# 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 baru") transaction.run()