Metode Manajemen Indeks Real-time
Database untuk Akses Cepat Data yang Besar dari Power System
MengLong Yue, CuiHui Ren, XianHui Li
China Realtime Database Co.Ltd. Nanjing,
China 210000
China Communications 2nd Navigational
Bureau 2nd Engineering Co., Ltd., Chongqing, 404100, China)
Software Institute of Nanjing
University, Nanjing, 21000, China
Abstrak
Dalam
rangka untuk beradaptasi pada lingkungan aplikasi spesifik dari sistem power,
berdasarkan mekanisme manajemen indeks relational database, artikel ini
mengusulkan sebuah teknik manajemen indeks yang efisien untuk real-time database.
Teknik ini menggabungkan keunggulan dari kedua indeks dan B+ manajemen pohon,
sepenuhnya memanfaatkan sumber daya memori sebaik kedua karakteristik pemrosesan
komputer, dan secara eventual mencapai data masif yang real-time, penyisipan,
dan permintaan real-time.
Kata
kunci: Real-time database, manajemen indeks, indeks relational database
1.
Pendahuluan
Real-time
database adalah produk dari teknologi database yang dikombinasikan dengan
teknologi pemrosesan real-time. Hal ini terutama digunakan pada prosedur toko
untuk data real-time besar yang diperoleh dari kawasan industri. Ini
menyediakan fungsi pengelolaan data untuk manajemen produksi perusahaan & penjadwalan,
analisis data, dan mendukung keputusan [1-4]. Terutama, dalam sistem power,
kuantitas data yang dikumpulkan sangat besar dalam sistem monitoring komputer,
yang membuatnya sangat mendesak untuk mendapatkan database yang dapat
penyimpanan, permintaan, analisis dan massa kinerja transmisi data.
Di
bidang sistem power, bersama dengan tingkat otomasi pengiriman tambahan dan
terus mengembangkan sistem monitoring komputer, sistem mengumpulkan skala data
semakin besar dan besar. Real-time sistem manajemen database membutuhkan tidak
hanya menyimpan pengumpulan data real-time yang besar, tetapi juga untuk
menyediakan berbagai fungsi manajemen data untuk manajemen perusahaan produksi
dan penjadwalan, analisis data, pendukung keputusan [5-7]. Dalam aplikasi
spesifik sistem power ini, real-time database perlu untuk memenuhi permintaan
dari sistem power besar penyimpanan informasi dan kinerja pengolahan real-time,
yang mengirimkan tingkat throughput data pada komputer biasa bisa berada di
atas juta peristiwa per detik. Dalam rangka untuk melakukan itu, kita perlu
untuk sepenuhnya mengeksplorasi teknologi modern prosesor, teknologi sistem
operasi, teknologi penyimpanan dan teknologi jaringan komunikasi.
Makalah
ini terutama mempelajari teknologi manajemen indeks database real-time. Dan
mengusulkan metode manajemen indeks ditingkatkan melalui asosiatif keuntungan
dari hubungan manajemen database indeks dan karakteristik klasik struktur data
indeks [8], yang membuat real-time kapasitas pengolahan data dapat dicapai
lebih dari juta peristiwa per detik dan memberikan ratusan ribuan kinerja query
besarnya dalam sistem power.
2.
Manajemen
Indeks Relational Database
Indeks
adalah struktur data penting dalam hubungan database. Ini adalah salah satu
atau lebih dari koleksi nilai kolom dalam sebuah tabel dan daftar pointer logis
yang menunjuk ke halaman data identifikasi fisik nilai-nilai ini dalam sebuah
tabel.
Indeks
dibagi menjadi indeks cluster dan indeks non-cluster [9]. Indeks cluster didasarkan
pada data yang disimpan dalam urutan lokasi fisik, tetapi indeks non-cluster
tidak.
Membuat
indeks dapat sangat meningkatkan kinerja sistem. Pertama, Anda dapat memastikan
bahwa keunikan setiap baris data dalam tabel database dengan menciptakan indeks
yang unik. Kedua, itu sangat dapat mempercepat kecepatan pengambilan data, yang
merupakan alasan utama untuk menciptakan indeks. Ketiga, Anda dapat mempercepat
koneksi antara tabel dan tabel. Dan itu sangat bermakna dalam integritas data
referensial. Keempat, bila menggunakan klausa pengelompokan dan pengurutan pada
pengambilan data, Anda juga dapat secara signifikan mengurangi query
pengelompokan dan pengurutan waktu. Kelima, kita dapat menggunakan optimizer
untuk meningkatkan kinerja sistem dengan menggunakan indeks dalam proses query.
Indeks
merupakan aspek penting dari desain program aplikasi dan pengembangan. Jika
indeks terlalu banyak, kinerja program aplikasi mungkin akan terpengaruh. Jika
indeks terlalu kecil, itu akan berdampak pada kinerja query. Kita harus
menemukan keseimbangan, yang penting untuk kinerja sistem aplikasi.
Dalam
relational database, indeks yang menciptakan dalam kolom tunggal memiliki dua
jenis. Mereka indeks hash dan indeks pohon B Plus. Indeks hash dalam menangani
query dari bentuk dimana A = (konstan) lebih efisien, dan indeks pohon B Plus
dalam menangani query berbagai bentuk dimana A< (konstan) dan A>
(konstan) lebih efisien. Mengenai indeks kombinasi yang menciptakan beberapa
kolom, pendekatan umum untuk indeks kombinatorial pada beberapa kolom adalah
mengambil mereka semua sebagai kunci pohon B Plus. Ketika kita membandingkan
operasi, pada awalnya kita membandingkan kolom pertama, jika kolom pertama dari
dua nilai yang tidak sama, kita bisa mendapatkan hasil perbandingan ini,
sedangkan jika sama, kemudian membandingkan kolom kedua untuk mendapatkan hasil
yang lebih besar. Dan seterusnya, sampai kita menemukan yang lebih besar atau
lebih kecil.
Kita
sering menggunakan indeks cluster untuk nilai sering permintaan. Sifat indeks
cluster adalah urutan logis dari data yang konsisten dengan tatanan fisik. Itu
membuat berbagai pengambilan sekuensial mencapai efisiensi yang tinggi. Dalam
menggunakan indeks cluster untuk mengambil data berdasarkan kunci pencarian,
tidak diperlukan pointer melompat untuk mengambil data terkait halaman, yang
dapat menyebabkan lokasi pada hard disk Anda berubah tidak dalam urutan. Hal
ini karena tingkat daun indeks cluster sebenarnya terkait dengan halaman data.
Struktur
data umum adalah struktur empat dalam sistem power, seperti (id, waktu, nilai,
status). "Id" mewakili titik, "waktu" mewakili waktu,
"nilai" merupakan titik dalam nilai waktu dan "status"
mewakili status data ini. Relational database akan membuat empat kolom dengan
hal ini konstruksi empat dari modus pengolahan data ini. Dan (id, waktu)
kombinasi sebagai indeks kunci utama yang akan dibuat.
Dalam
aplikasi sistem power, query batch dan penampang permintaan adalah operasi
query umum. operasi batch query untuk mendapatkan data titik TAG dalam jangka
waktu tertentu (mirip dengan WHERE ID = 1 DAN WAKTU> 20.110.505 DAN WAKTU
<20110606), penampang permintaan mengacu untuk mendapatkan banyak data titik
TAG dalam waktu yang sama (mirip untuk WHERE WAKTU = 20110505 DAN ID> = 1
AND ID <= 2000).
Dalam
kasus permintaan batch, indeks gabungan bisa sangat berpengaruh terhadap posisi
ID terlebih dahulu dan kemudian reposisi TIME. Dengan membaca langsung melalui
hard disk, indeks cluster dapat oleh efisien. Namun, ketika mempertimbangkan
penyisipan pindah data yang sering untuk mempertahankan indeks cluster, itu
dapat lebih meningkatkan efisiensi. Jika ID data yang sama tidak penyimpanan
contiguous, itu akan mengarah pada data logis seri secara fisik disimpan pada
interval, dan ketika kita ingin query, itu akan membaca hard disk sering hal IO
tidak efisien. Sementara dalam kasus penampang query, indeks gabungan akan
melakukan ketidakmampuan. Menurut SQL optimizer pada prinsip Indeks optimasi
gabungan, membuat (ID, TIME) indeks gabungan pada saat yang sama adalah sama
untuk menciptakan ID indeks. Ketika berhadapan dengan ID = X bekerja dengan
baik, tetapi tidak dapat menangani WAKTU = X
3.
Manajemen
Indeks Real-time Database
Dalam
prakteknya, data real-time query database memiliki dua karakteristik yang
menonjol. Pertama, volume data yang besar; Kedua, waktu respon yang dibutuhkan
adalah pendek. Menanggapi seperti sejumlah besar permintaan data, jika
menggunakan indeks biasa, itu akan menjadi tak berdaya karena: Pertama, data
dalam jumlah besar dapat dilihat dalam waktu; yang kedua adalah itu diduduki
oleh utilisasi CPU yang sangat tinggi.
Dalam
rangka meningkatkan efisiensi query, menggambar pada struktur indeks relational
database klasik, makalah ini menyajikan real-time indeks teknologi manajemen
database, terutama untuk memenuhi kebutuhan akses real-time data dalam jumlah
besar yang dirancang sistem indeks.
Pendekatan
ini pada dasarnya mengambil indeks hash ID, dan menciptakan B Plus Indeks pohon
dengan TIME di setiap titik TAG. Data kontinyu disimpan di bawah B Plus simpul
daun, dan berbeda ID untuk menggunakan blok penyimpanan data fisik yang
berbeda. Menggunakan organisasi indeks ini dapat juga disesuaikan dengan
penerapan persyaratan sistem power untuk database real-time.
Dalam
sistem WAMS, Untuk pengiriman data misalnya, mungkin memerlukan pengumpulan
data mulai dari 100-1000 per detik. Dengan pengindeksan ini dapat diatasi dalam
waktu yang konstan untuk menemukan ruang data dari titik TAG. Data setiap titik
TAG ini diselenggarakan oleh B Plus pohon, yang rangka organisasi fisik
konsisten dengan urutan logis, yang mirip dengan indeks cluster dalam database
relasi. Anda dapat mengatasi dengan simpul daun dalam waktu logmN untuk
melakukan operasi interpolasi sesuai dengan karakteristik pohon B Plus.
karakteristik Oleh karena itu, menurut data yang disampaikan dalam sistem power,
yang datanya secara ketat berurutan agar disampaikan TIME, yang membuat urutan
logis data konsisten dengan tatanan fisik, untuk mengirimkan data dalam jumlah
besar dalam waktu singkat setara dengan sequential write akses hard disk
efisiensi yang sangat baik. Efisiensi kerja bisa mencapai jutaan peristiwa per
besarnya kedua cara ini.
Untuk
permintaan batch, melalui ID titik, kita dapat dengan cepat menemukan pohon
indeks titik ini. Menurut kondisi awal TIME, kita bisa mendapatkan baris
pertama data query. Sementara kita bisa mendapatkan semua data dalam kondisi
WAKTU melalui operasi traversal pohon. Karena data waktu yang berdekatan diatur
terus menerus pada ID yang sama, sehingga mengadopsi strategi pra-membaca untuk
membaca blok data berikutnya ke dalam memori sekali. Ini menghabiskan waktu
yang sangat singkat karena membaca terus menerus. Operasi tindak melintasi akan
mengambil data langsung dari memori kembali ke klien. Indeks cara ini dapat
memenuhi kebutuhan dengan cepat permintaan kurva sejarah besar data dalam
sistem power. Efisiensi query bets bisa sampai 50-100000000 peristiwa per detik
dengan cara ini.
Untuk
permintaan penampang, efisiensi tidak lebih tinggi dari permintaan bets karena
organisasi indeks ini lebih cocok untuk permintaan batch. Tapi dibandingkan
dengan indeks gabungan database relasi, indeks ini memiliki keunggulan yang tak
tertandingi. Untuk (ID, TIME) indeks gabungan, penampang permintaan tidak mampu
dasar tindakan, tetapi struktur indeks ini dapat melintasi semua ID yang harus
bertanya pada awalnya. Kemudian, cari waktu yang sesuai dengan data dengan
indeks waktu setiap ID. Menurut kedalaman pohon dan jumlah ukuran data, data
dapat dikembalikan dalam waktu logmN waktu besarnya (m adalah lebar pohon. N
adalah jumlah data). Efisiensi penampang query hingga 10-30000000 peristiwa per
detik dengan cara ini.
4.
Perbandingan
Efisiensi Indeks Yang Berbeda
Pada
bagian eksperimental, makalah ini membandingkan efisiensi insert batch,
permintaan batch dan bagian permintaan silang dengan struktur empat tuple (ID,
WAKTU, NILAI, STATUS) data antara modus indeks hubungan tradisional dan metode
yang diusulkan. Modus indeks hubungan diwujudkan dengan mengekstraksi indeks
MySQL. lingkungan percobaan uji: CPU dual-core 3.0GHz, memori 2G. sampel uji 20
ribu poin, setiap titik menambahkan satu juta data dalam urutan kronologis.
Hasil eksperimen ditunjukkan dalam tabel 1. Seperti dapat dilihat dari tabel,
efisiensi insert non-cluster index lebih baik dari cluster index, efisiensi
query cluster lebih baik daripada non-cluster index, apakah metode yang
diusulkan lebih unggul ke mode hubungan indeks tradisional dalam permintaan
atau interpolasi.
Manajemen
indeks adalah bagian penting dari basis data real-time. Yang berkaitan dengan
organisasi data, alokasi memori, segmentasi file dan sebagainya. Kelalaian
setiap bagian akan memberikan dampak kinerja yang bagus pada database
real-time. Keuntungan dari manajemen indeks database real time adalah bahwa hal
itu menggunakan struktur data spesifik mengatur metode untuk skenario yang
berbeda, dan untuk memastikan data kontinu dapat disimpan terus-menerus pada
hard disk sebanyak mungkin. Juga menggunakan indeks Hash untuk mengatur
informasi untuk memastikan bahwa kita bisa mendapatkan ruang data ini dalam
waktu yang konstan. Akhirnya, itu menyediakan beberapa mekanisme pre-processing
untuk secara dramatis meningkatkan efisiensi query berdasarkan karakteristik
indeks.
5.
Kesimpulan
Makalah
ini secara rinci menganalisis mekanisme pengindeksan dalam database real-time,
terutama untuk skenario tertentu dalam sistem power, dan mengusulkan mekanisme
pengindeksan baru untuk memastikan kinerja real-time database real-time.
6.
Referensi
[1]Liu
Yunsheng, Real-time database system, Computer Science, 1994,(3):21-26.
[2]Liu
Yuansheng, K.Ramamritham, J.Stankovic. On real-time database transactions .
Journal of Software, 1995, (10):614-622.
[3]Giannone,
Domenico, Henry, Jerome, Lalik, Magdalena and Michele. An Area-Wide Real-Time
Database for the Euro Area (January 19, 2010). ECB Working Paper No. 1145.
Available at SSRN: http://ssrn.com/abstract=1532311.
[4]Ben
Kao, Hector Garcia-molina. An overview of real-time database systems, Real-time
Systems - RTS, 1994.
[5]Zhang
Shengming, Pu Fanqiang, Yao Jianguo, Yang Zhihong, et al. Follow the IEC61970 standard
real-time database management system. Power Systems, 2010, (26) NO.24, 26-30.
[6]He
Jiang, Wu Xingping, Li Lixin, et al. Component-based database platform for
real-time power system. Electrical Engineering, 2002,(3):64-67.
[7]Electricity
market based on middleware technology support services real-time database design,
RELAY. 2007,(12):15-12.
[8]Sam
Lightstone, Toby Teorey, Tom Nadeau. Physical database design: indexes, views
and storage technology. Tsinghua University Press, 2010.12.
[9]Abraham
Silberschatz, Henry F.Korth, S.Sudarshan. Database system, concept, Machinery
Industry Press, 2006.1.
0 komentar:
Posting Komentar