Smart Drone E88 Pro 4k HD Camera Shoot OriginalKapasitas Batre: 3.7V / 1800mAh. Warna : Matte-black. Metode pengisian : USB Charging. Waktu pengisian:50 minutes. Waktu terbang : 15-20 menit. Jarak terbang :80-100m. Video signal: WiFi Free Klik Disini ! |
Connection pooling adalah strategi yang melibatkan daur ulang koneksi database untuk beberapa permintaan saat kueri telah diselesaikan.
Biasanya, ini dilakukan dengan memperkenalkan perangkat lunak yang disebut connection pool antara server basis data dan aplikasi klien yang bertanggung jawab untuk mengelola koneksi antara keduanya.
Saat membuat koneksi, rangkaian operasi yang cukup panjang harus dijalankan sebelum kueri benar-benar dijalankan oleh server database.
Connection pooling mencoba mengamortisasi biaya operasi ini dengan menjaga koneksi tetap terbuka setelah kueri awal dan menggunakannya kembali untuk menjalankan kueri tambahan.
Dalam sistem ini, klien terhubung ke connection pool. Klien memperlakukan pooler seolah-olah itu adalah database dan pooler menafsirkan kueri untuk memberikan koneksi yang sesuai ke klien.
Satu hal yang perlu diperhatikan adalah bahwa masih ada overhead yang terlibat dalam membuka dan menutup koneksi antara klien dan pooler.
Koneksi ini, bagaimanapun biasanya memiliki overhead yang lebih rendah karena sebagian besar proses berat terjadi saat membuat koneksi ke database itu sendiri.
Modifikasi koneksi database yang ada pada tutorial sebelumnya dengan menambahkan library MySQLConnectionPool. Perhatikan kode program berikut:
from mysql.connector.pooling import MySQLConnectionPool
from mysql.connector import Errordbconfig = {
"database":"halovinaaja_db",
"user" : "admin",
"password" : "admin"
}try:
pool = MySQLConnectionPool(pool_name = "pool_a",
pool_size = 2, #default is 5
**dbconfig)
print("The connection pool is created with a name: ",pool.pool_name)
print("The pool size is:",pool.pool_size)except Error as er:
print("Error code:", er.errno)
print("Error message:", er.msg)
Dari kode diatas kita mempunya sebuah connection pool dengan nama "pool_a". Pool Size bisa diartikan bahwa hanya ada 2 koneksi yang terhubung ke database Mysql.
Koneksi ke database akan kembali terbuka jika salah satu atau kedua koneksi yang sedang berjalan telah expired ataupun telah di tutup oleh sistem.
Jika ada koneksi ke-3 dan seterusnya maka akan mendapatkan response error.
Pertanyaanya sekarang bagaimana jika sistem ingin tetap menghubungkan beberapa pun koneksi ke database yang di minta oleh service client ?
Untuk menangani hal ini Anda perlu membuat koneksi baru dengan menambahkan perintah
add_connection()