Sphinx Search Engine in PyThon, PHP, and Matlab

Saat data besar, database relasional saja tidak cukup untuk memenuhi kebutuhan informasi (storage, retrieval dan-atau analitik). Setidaknya untuk kebutuhan pencarian yang cepat dan handal dibutuhkan sebuah search engine (dan-atau NoSQL). Pada post kali ini saya akan bahas setup sederhana Sphinx Search Engine dan bagaimana mengaksesnya melalui PHP, PyThon dan Matlab. Mengapa PyThon dan Matlab juga dibahas ? Sejujurnya karena saya pernah membutuhkan tutorial ini, tapi setelah bertanya berkali-kali ke ‘Mbah Google’ tidak menemukan apa yang saya cari. Semoga tutorial ini kelak bermanfaat bagi siapa saja yang membutuhkan. Alasan saya menulis post ini juga karena Sphinx memang search engine yang cukup mumpuni, open source, dan MySQL friendly. Popularitas Sphinx sedikit-banyak terdongkrak karena kemudahannya dalam mengindex data dari database relasional yang paling populer saat ini (i.e. MySQL). Catatan: ketika database MySQL besar, pencarian (query) FullText akan sangat lambat dan hasil query-nya kurang relevant.

Continue reading

NoSQL VS Relational (SQL) database … ??? …

Akhir-akhir ini istilah NoSQL (e.g. MongoDB) semakin jamak ditelinga, terutama pada pembahasan mengenai data yang besar (Big Data). Pertanyaan/diskusi yang paling sering muncul saat pertama kali mempelajari topik ini adalah:

  • Apakah NoSQL adalah pengganti (lebih baik dari) database relational (e.g. MySQL) ?
  • Apakah database relasional benar² tidak bisa digunakan saat ukuran datanya besar ?
  • lalu apa kelebihan & kekurangan masing² ? ….

Artikel ini berusaha untuk menjawab pertanyaan² ini.

Continue reading

Matlab – MySQL

Saat mengolah data yang besar (e.g. Big Data) meletakkan seluruh data di memory menjadi tidak praktis atau bahkan tidak memungkinkan. Ada kalanya koneksi antara pemrograman dan database perlu untuk dilakukan. Dalam artikel kali ini akan di Jelaskan 2  cara untuk koneksi ke database MySQL melalui Matlab dan bagaimana melakukan beberapa Query sederhana [Import-Export Data]:

Continue reading