Meningkatkan Performa Pencarian Data pada Platform BigQuery

Teknologi.id . August 27, 2018

Photo by rawpixel on Unsplash
  Artikel ini merupakan repost dari artikel tulisan Ilyas Ahsan yang dipublikasikan di EasyRead. Baca artikel sumber.

Secara sederhana database transaction sebenarnya tidak jauh berbeda dengan 

Pada weekend ini saya melakukan suatu riset untuk meningkatkan performa pencarian data dalam BigQuery.

Melakukan pencarian pada data yang sangat besar membutuhkan waktu yang lama untuk melihat hasilnya. Oleh karena itu penulis akan melakukan cara untuk meningkatkan performa pencarian dengan 2 metode dan membandingan waktu yang dihabiskan untuk mencarinya.

Studi kasusnya adalah mencari tahu seberapa banyak comment yang mengandung kata good dan ok pada column comment pada databasewikipedia dengan size sebesar 35.7 GB dan row sebanyak 313.797.035.

Teknologi yang digunakan adalah:

  1. Google BigQuery (https://bigquery.cloud.google.com)
  2. Database wikipedia (https://bigquery.cloud.google.com/table/bigquery-public-data:samples.wikipedia)
  3. Regex

Metodologi yang digunakan pada riset kali ini adalah melakukan perbandingan pencarian dengan SQL LIKE Operator dan Regex.

Penerapan riset kali ini dilakukan pada Google BigQuery untuk pencarian data serta Google Cloud Storage untuk penyimpanannya.

Percobaan pertama penulis akan melakukan pencarian dengan SQL LIKE Operator dan selanjutnya melakukan pencarian dengan Regex.

Query dengan SQL LIKE Operator

SELECT
  COUNT(*)
FROM
  [bigquery-public-data:samples.wikipedia] 
WHERE
  lower(comment) LIKE '%good%'
  or lower(comment) LIKE '%ok%'
# hasil: 3460796

Query dengan Regex

SELECT
  count(*)
FROM
  [bigquery-public-data:samples.wikipedia] 
WHERE
  REGEXP_MATCH(comment, '(?i)good|ok')
# hasil: 3460796

Percobaan kali ini penulis akan melakukan query test sebanyak 20 kali dengan 2 metode berbeda dan hasilnya dapat dilihat pada Tabel 1.0 Hasil Test.


https://medium.com/@ilyasahsan
Pada percobaan kali ini dapat disimpukan bahwa:
  1. Kedua metode menghasilkan result 3460796.
  2. Query dengan menggunakan SQL LIKE operator membutuhkan waktu yang lebih lama dibandingkan dengan menggunakan Regex. kesimpulan dapat dilihat pada gambar 1.0 chart perbandingan query dengan legendbiru adalah SQL LIKE operator dan legend merah adalah regex.
  3. Rata-rata waktu yang di habiskan pada query metode SQL LIKE operator adalah 4.3 detik sedangkan menggunakan Regex dihabiskan 3.42 detik.
 

gambar 1.0 chart perbandingan query
Lampiran screenshots percobaan dengan menggunakan platform BigQuery.

gambar 1.1 SQL LIKE Operator
Share :