Bagi yang terbiasa bermain dengan data, tentunya sudah tidak asing lagi dengan istilah Table. Walaupun tidak dalam konteks database, tapi Table ini adalah istilah yang cukup umum dalam mengolah sebuah data.
Seperti misalnya mengolah data di spreadsheet seperti Microsoft Excel ataupun Google Sheet, kita juga terbiasa mendengar istilah Table.
Pada Database, kurang lebih ada dua jenis tempat penyimpanan, yaitu logikal dan fisikal.
Dikatakan logikal karena tempat penyimpanan tersebut tidak bisa dilihat secara fisiknya, tapi bisa diakses melalui database.
Contoh dari tempat penyimpanan logikal adalah Table dan Tablespace. Sementara tempat penyimpanan fisikal adalah tempat penyimpanan yang bisa kita lihat file-nya, dan bisa melihatnya dari luar database.
Contoh dari tempat penyimpanan fisikal adalah Datafile. Apa itu penyimpanan table, tablespace, dan datafile?
Table
Table adalah tempat penyimpanan logikal yang bisa membuat data terbaca (human readable).
Jadi Table adalah satu-satunya akses untuk membaca data pada database. Aplikasi-aplikasi yang terkoneksi ke database juga akan menggunakan table untuk membaca datanya.
Sementara tablespace adalah tempat penyimpanan logikal pada database, yang mana pada tablespace ini terdapat datafile yang merupakan tempat penyimpanan fisik.
Datafile
Datafile, sebagai tempat penyimpanan fisik, memiliki ukuran maksimal sesuai dengan ukuran blok file pada Operating System yang digunakan.
Jika menggunakan blok file yang adalah 8k (8,192) maka ukuran maksimum datafile adalah 32 GB. Jika menggunakan blok 16k, maka ukuran maksimum datafile adalah 64 GB.
Dan jika blok 32k, maka ukuran maksimum datafile adalah 128 GB. Datafile ini adalah file fisik yang menyimpan data pada database.
Datafile berisi data-data binary, sehingga tidak bisa membacanya secara langsung dengan membuka file-nya, namun harus melalui database (Table).
Lalu bagaimana jika table memiliki ukuran data yang lebih besar dari 32 GB (jika OS-nya menggunakan blok file 8k).
Jangan khawatir, tablespace sendiri bisa memiliki beberapa datafile. Jadi jika menampung ukuran data yang sudah melebihi 32 GB, maka bisa membuat datafile yang baru untuk di assign ke tablespace, sehingga ukuran maksimum tablespace bertambah sesuai dengan akumulasi ukuran maksimum datafile.
Satu table normalnya terdiri dari satu tablespace. Namun bisa juga berisi banyak tablespace, jika table tersebut menggunakan partitioning.
Tablespace bisa terdiri dari 1 atau lebih dari 1 datafile. Sedangkan hanya dapat menggunakan datafile pada 1 tablespace saja.
Tablespace pun bisa terdiri dari beberapa table (jika lebih dari 1 table di assign pada tablespace yang sama). Itulah penjelasan mengenai table, tablespace, dan datafile.