Sejarah SQL Server

Posted by Friendly With Information Technology on Monday, December 15, 2014

                          
Di SQL Server 7.0, Microsoft memiliki sebuah fitur terkenal yang disebut Data Transformation Services (DTS). DTS adalah tulang punggung Import/Export Wizard, dan tujuan utama DTS adalah untuk melakukan transformasi data dari hampir semua data source OLE DB ke tujuan yang lain. DTS juga memiliki kemampuan untuk mengeksekusi program dan menjalankan script.
Setelah lima tahun, Microsoft merilis SQL Server 2005 dan menjadi pondasi utama Business Intelligence. Nama DTS juga diganti menjadi SQL Server Integration Services (SSIS). Banyak fitur yang ditambahkan ke dalam SSIS yang membuat pergantian namanya dengan yang sekarang adalah yang paling tepat. Fitur-fitur tersebut membuat kebutuhan untuk menggunakan script menjadi berkurang.
Pada SQL Server 2008, SSIS memperkenalkan fitur baru dan melakukan perbaikan pada proses instalasi, komponen, manajemen data, kinerja dan penanganan masalah. Fitur-fitur baru dan perbaikan ini menaikkan kekuatan dan produktivitas developer, administrator, dan orang-orang yang terlibat dalam proses pengembangan solusi trasformasi data.
  • SSIS designer adalah tool grafis yang digunakan untuk membuat package dan terdapat pada Business Intelligence Development Studio (BIDS) sebagai bagian dari project Integration Services.
  • SSIS runtime engine menyimpan desain package, mengeksekusinya dan menyediakan logging, breakpoint, konfigurasi, koneksi dan transaksi juga menangani event yang terjadi. 
  • Data flow task membungkus data flow engine, engine yang bekerja melakukan proses ETL. Data flow engine terdiri dari sumber (source), transformasi (transformation), dan tujuan (destination).
  • Model objek SSIS juga menyertakan Application Programming Interfaces (API) yang dapat kita gunakan untuk membuat komponen kustom untuk digunakan dalam package, atau membuat aplikasi kustom yang membuat, me-load, mengeksekusi dan mengatur package. Developer dapat membuat hal-hal tersebut dengan menggunakan bahasa pemrograman C# atau VB .net.
  • SSIS service adalah Windows service yang memonitor eksekusi package dan melakukan penyimpanan package.
  • SQL Server Import and Export Wizard melakukan proses pemindahan data dari data source dengan provider OLE DB atau provider .NET Framework yang tersedia.
1.2.1 Package
Package berisi kumpulan tugas (yang disebut task) yang dieksekusi dengan urutan tertentu dan merupakan komponen utama SSIS. Package dapat disimpan di SQL Server pada database msdb, ataupun disimpan sebagai sebuah file .dtsx. Inovasi signifikan SSIS adalah desain arsitektur package untuk manajemen kontrol proses. Arsitektur kontrol proses SSIS terdiri dari komponen control flow, data flow, dan event handler. Setiap komponen tersebut memiliki kumpulan objek yang dapat digunakan pada saat proses pembuatan package.

1.2.2 Control Flow
Control flow adalah level tertinggi dari proses kontrol yang dapat digunakan untuk mengatur aktivitas proses data flow dan proses lainnya di dalam sebuah package yang didalamnya terdapat task dan container. Task adalah elemen control flow yang merupakan sebuah unit kerja. Sebuah package terdiri dari satu atau lebih task. Apabila terdapat lebih dari satu task, task dapat terhubung dan berjalan secara serial dengan menggunakan precedence constraints ataupun tidak terhubung satu sama lain dan berjalan parallel sesuai dengan desain package yang kita inginkan.
Beberapa contoh task disediakan oleh SSIS dan sering digunakan diantaranya adalah:
  • Data Flow Task: mengeksekusi data flow untuk ETL.
  • Execute SQL Task: mengeksekusi SQL Statement atau stored procedure.
  • Bulk Insert Task: melakukan load data ke dalam sebuah table menggunakan BULK INSERT SQL.
  • Execute Package Task: mengeksekusi package lain yang terdapat di SQL Server ataupun File System.
  • Execute Process Task: mengeksekusi program/aplikasi yang terdapat di komputer.
  • File System Task: Menangani operasi file seperti membuat atau menghapus sebuah directory, ataupun melakukan copy, perpindahan atau penghapusan file.
  • Send Mail Task: mengirimkan e-mail melalui SMTP.
  • Analysis Services Processing Task: memproses cube, dimensi, atau mining model SQL Server Analysis Service.
  • Data Mining Query Task: mengeksekusi predictive query terhadap data-mining model di Analysis Services.
  • Data Profiling Task: merupakan fitur baru di SSIS 2008 yang digunakan untuk mendapatkan profil data yang disimpan di SQL Server untuk mengidentifikasi masalah yang dapat timbul pada kualitas data.
  • Script Task: digunakan untuk melakukan fungsi-fungsi yang tidak dapat dilakukan dengan task-task bawaan SSIS dengan menggunakan script di lingkungan Visual Studio. Apabila pada versi 2005 bahasa pemrograman yang bisa digunakan adalah Visual Basic, maka pada versi ini kita juga dapat menggunakan C#.
  • Container digunakan untuk mengelompokkan task menjadi unit kerja yang berguna dan dapat melakukan repetisi pada control flow. Selain task, kita dapat memasukkan container lain kedalamnya. 
1.2.3 Data Flow
Data Flow digunakan untuk proses ETL yang didalamnya terdapat komponen kontrol proses. Komponen nya terdiri dari source, transformation, dan destination.
Source adalah dimana kita mendefinisikan lokasi sumber data. Terdapat enam komponen Source bawaan SSIS:
  • OLE DB Source: untuk mengambil data dari OLE DB seperti SQL Server, Access, Oracle, atau DB2 sebagai contohnya.
  • Excel Source: mengambil data dari Excel. Komponen ini juga mempermudah SQL query terhadap Excel.
  • Flat File Source: mengambil data dari file text
  • Raw File Source: mengambil data yang dihasilkan dari Raw File Destination. Format file-nya berbeda dengan Flat File dan biasanya digunakan untuk membaca data dengan cepat.
  • XML Source: menbambil data dari document XML
  • ADO NET Source: komponen baru yang menggantikan Data Reader Source di SSIS 2005 dan digunakan untuk mengambil data dari koneksi ADO .NET.
Transformation adalah komponent kunci di dalam data flow yang mengubah data ke dalam format yang diinginkan atau digunakan untuk membersihkan dan melakukan standarisasi terhadap data. Transformasi dilakukan di dalam memory sehingga tidak membutuhkan scripting seperti yang digunakan di DTS. Beberapa komponen transformation yang biasa digunakan:
  • Lookup
  • Derived Column: membuat sebuah column baru yang merupakan calculated column
  • Sort: mengurutkan data
  • Aggregate: melakukan agregasi data
  • Data Conversion: mengubah tipe data sebuah column menjadi tipe data yang lain
  • Conditional split: membagi data berdasarkan kondisi tertentu yang sesuai
  • Merge Join: menggabungkan dua set data menjadi satu set data menggunakan fungsi join
  • Fuzzy Grouping: melakukan pembersihan data dengan mencari baris yang memiliki duplikasi
  • Fuzzy Lookup: mencocokkan dan melakukan standarisasi data berdasarkan fuzzy logic
  • Union All: menggabungkan banyak set data kedalam satu set data
  • Slowly Changing Dimension: mengatur kondisi insert atau update data pada dimension
  • OLE DB Command: mengeksekusi OLE DB command untuk setiap baris data
  • Script Component: melakukan transformasi data dengan menggunakan script
Destination menerima data dari source atau transformation untuk kemudian menyimpannya ke dalam data source OLE DB atau file text. Komponen destination yang terdapat di SSIS:
  • Data Mining Model Training: melatih mining model Analysis Services dengan cara mengirimkan data hasil transformasi
  • ADO NET Destination: komponen baru yang menggantikan Data Reader Destination dan digunakan untuk menyimpan data ke koneksi ADO .NET
  • Dimension Processing: melakukan load dan pemrosoesan dimension yang terdapat pada Analysis Services
  • Excel Destination: menyimpan data ke dalam file Excel
  • Flat File Destination: Menyimpan data ke file text
  • OLE DB Destination: menyimpan data ke koneksi OLE DB seperti SQL Server, Oracle, atau akses
  • Partition Processing: Melakukan proses update, incremental, atau full terhadap partisi Analysis Services
  • Raw File Destination: menyimpan data kedalam raw file yang nantinya digunakan oleh Raw File Source.
  • Recordet Destination: menyimpan data ke dalam sebuah kumpulan data ADO
  • SQL Server Destination: menyimpan data ke SQL Server dengan efisien
  • SQL Server Compact Destination: menyimpan data ke SQL Server yang terdapat di dalam Pocket PC
1.2.4 Variables 
Variables adalah komponen yang paling dominan dalam arsitektur SSIS. Dengan variable sebuah package dapat diatur secara dinamis pada saat dieksekusi.

1.2.5 Event Handler
Berbeda dengan data flow, event handler tidak terdapat di dalam control flow. Event handler dilakukan sebagai sebuah respon pada saat sebuah event terjadi di package atau task. Biasanya event handler dibuat untuk melakukan hal-hal tertentu sebagai hasil dari anomali data, menjalankan program atau package lain berdasarkan keadaan pada saat package dieksekusi. Sebagai contoh, kita dapat membuat event handler untuk mengirimkan e-mail notifikasi pada saat package selesai dijalankan atau pada saat package yang dieksekusi mengalami kegagalan.

1.3 Kakas SSIS SSIS memiliki beberapa kakas yang dapat digunakan untuk membuat sebuah package, mengatur, dan mengeksekusinya.

1.3.1 Business Intelligence Development Studio
Business Intelligence Development Studio (BIDS) adalah kakas yang digunakan untuk mendesain, membuat, dan mengetes package. BIDS menyediakan sebuah lingkungan pengembangan yang berorientasi grafis yang membantu proses pengkopian, pengaturan dan pembuatan package menggunakan menu dan kotak kakas dengan metode drag-and-drop.

1.3.2 Import and Export Wizard
Import and Export Wizard adalah kakas yang digunakan untuk membuat sebuah package sederhana yang isinya memindahkan data dari sebuah source ke destination. Package hasil wizard ini dapat digunakan sebagai kerangka awal pembuatan package yang nantinya bisa dimodifikasi sehingga tidak perlu membuatnya dari nol.

1.3.3 Package Installation Wizard
Kakas ini digunakan untuk menyiapkan package yang telah kita buat dengan menggunakan BIDS dan kemudian menginstal nya ke SQL Server.

1.4 Fitur Baru dan Perbaikan
1.4.1 Cache Connection Manager
Cache Connection Manager digunakan untuk membaca data dari komponen Cache Transform atau cache file (.caw) dan dapat menyimpan data kedalam file cache. Dengan penggunaan cache, data yang sama cukup diambil sekali dari sumber data untuk kemudian digunakan berulang-ulang pada saat transformasi yang mengurangi waktu eksekusi.

1.4.2 Komponen Lookup

1.4.3 Data Profilling Task
Data Profiling Task adalah task yang digunakan untuk membuat profil sebuah table atau view yang membantu melihat distribusi data mengantisipasi masalah kualitas data yang terdapat pada object tersebut sebelum disimpan ke dalam data warehouse.
Hasil dari Data Profiling Task adalah file xml yang berisi statistik setiap kolom pada objek yang dapat dilihat menggunakan DataProfileViewer.exe yang disimpan terdapat di folder C:\Program Files\Microsoft SQL Server\100\DTS\Binn.

1.4.4 Lingkungan Script
Visual Studio Tools for Applications (VSTA) adalah lingkungan yang digunakan untuk menulis script pada komponen Script Task dan Script Component. Selain Visual Basic 2008, bahasa pemrograman lain yang disediakan oleh VSTA adalah C#. Selain itu di lingkungan yang baru kita dapat menambahkan referensi ke library yang terdapat di folder dan menambahkan referensi web sehingga script yang dibuat dapat menggunakan objek atau memanggil fungsi yang terdapat pada kedua referensi tadi.

Blog, Updated at: 4:43 PM

0 komentar:

Post a Comment

Dokumentasi