Sensasi Replikasi

Mei 18th, 20237 min

Cabaran

Simpan data yang dijana daripada satu Bekalan Kuasa Tidak Terganggu (UPS) kepada berbilang pangkalan data PostgreSQL di premis, kemudian replikasi data yang sama kepada satu pangkalan data Snowflake dalam awan. Bina papan pemuka mewah dengan data yang direplikasi.


“Pada ketika ini anda menyedari bahawa anda akan ‘menetapkan dan melupakan’ replikasi dan menukar teknologi penangkapan data antara dua pangkalan data berjenama yang berbeza, yang kedua-duanya menyokong fungsi berbeza yang tidak berada pada rangkaian yang sama – semuanya tanpa menulis satu baris kod.”


Kenapa?

Kami mahu mensimulasikan senario di mana data langsung disimpan merentas berbilang pangkalan data dan menunjukkan bagaimana mungkin untuk menggabungkannya menjadi satu tanpa sebarang skrip atau pengekodan. Penggunaan jenis ini adalah tipikal dalam kebanyakan organisasi di mana data daripada pelbagai program dan peranti IoT diasingkan ke dalam pangkalan data mereka sendiri, masing-masing dengan bahasa dan sintaks mereka sendiri.

Walaupun tiada apa-apa yang biasanya buruk tentang perkara itu dari sudut seni bina atau rangkaian, ia sering meningkatkan tahap kebimbangan penganalisis dan pembangun yang perlu melaporkan data tersebut.

Bagaimanakah seseorang mengelakkan penderitaan menulis pelbagai pertanyaan, berpotensi dalam bahasa yang berbeza, sambil mengekalkan fakulti mereka?

Teknologi Digunakan

  • APC 3000 UPS Pintar
  • Nod-MERAH
  • PostgreSQL
  • Penyepaduan Data Awan Qlik (QCDI)
  • Kepingan salji
  • Analitis Data Awan Qlik

Sumber Data

Untuk menjana beberapa data, kami menggunakan APC 3000 Smart-UPS. UPS biasanya menghasilkan peti harta karun maklumat seperti tahap bateri, beban, suhu dan merupakan contoh hebat peranti IoT .

Pengumpul Data

Memandangkan tiada cara untuk menyimpan data secara langsung daripada UPS ke pangkalan data konvensional, kami menggunakan Node-RED untuk merapatkan jurang dan membaca data MIB daripada UPS. Aliran Node-RED membaca UPS dan menyimpan bacaan pada selang 10 saat ke pangkalan data di premis.

Penyimpanan Data

Kami menggunakan PostgreSQL untuk pangkalan data di premis kami. Secara keseluruhan, kami mempunyai 14 pangkalan data PostgreSQL yang berasingan untuk mensimulasikan persekitaran yang terdiri daripada berbilang sumber data. Node-RED telah dikonfigurasikan untuk menyimpan data ke satu pangkalan data, kemudian 10 saat kemudian menyimpan data ke pangkalan data seterusnya dalam baris secara beransur-ansur.

Pangkalan Data Berpusat

Untuk menyimpan data di premis kami dalam awan, kami menggunakan contoh Snowflake yang membolehkan kami menggabungkan kesemua 14 pangkalan data PostgreSQL di premis ke dalam satu pangkalan data awan tunggal.

Replikasi Data

Untuk mereplikasi data di premis kami ke awan, kami memanfaatkan kemudahan replikasi data yang disediakan oleh Qlik Cloud Data Integration (QCDI). Menggunakan Change Data Capture (CDC) kami dapat memindahkan data langsung dari premis ke awan, tanpa perlu menyalin jadual penuh pada selang waktu yang dijadualkan.

Papan pemuka

Untuk menunjukkan semua data itu di satu tempat kami menggunakan komponen Qlik Sense Qlik Cloud Data Analytics (QCDA). Ini membolehkan kami membina aplikasi yang mempunyai ciri ‘status kesihatan’ biasa papan pemuka

Apa yang Kami Lakukan

Sebelum kami terperangkap dalam projek, kami merancang bagaimana data harus bergerak melalui setiap langkah, daripada data di premis kepada papan pemuka berasaskan awan.

Dari ladang ke meja

Untuk melengkapkan pendekatan ‘ladang ke meja‘, mesin replikasi hanya memerlukan beberapa roda gigi yang diminyaki dengan baik. Ihsan Node-RED, data daripada UPS disimpan ke dalam 14 pangkalan data PostgreSQL yang berasingan pada kadar sekali setiap 10 saat. Jadual di bawah menggambarkan ini dengan menunjukkan bacaan untuk Suhu Dalaman, dijana sekali setiap 10 saat dan disimpan ke Postgres DB yang berasingan:

Tetapi kami memerlukan ini divisualisasikan dan dengan keupayaan untuk memberi tumpuan kepada pangkalan data individu sebaik sahaja ia telah disatukan.

Dengan 14 pangkalan data PostgreSQL berjalan panas, kami mula menyediakan bahagian Qlik proses dengan menggunakan pintu masuk yang terletak di premis dan di belakang firewall. Ini bertindak seperti ejen yang duduk di atas kotak CentOS yang membolehkan anda bercakap dengan pangkalan data di premis. Ia adalah trafik sehala ke arah keluar, jadi terdapat risiko permusuhan masuk yang minimum.

Setelah menggunakan ejen di tanah air, pintu masuk dalam Qlik Cloud kini boleh disediakan untuk membolehkan sembang antara premis dan awan. Sekarang hanya perlu memanfaatkan pintu masuk untuk menyediakan sambungan individu ke setiap contoh Postgres. Ringkasnya, satu pintu masuk boleh menyamai banyak sambungan dan bukannya mempunyai satu persediaan pintu masuk untuk setiap sambungan.

Untuk memasukkan data kami ke awan, kami hanya memerlukan satu lagi sambungan dan pangkalan data destinasi. Untuk ini, kami memilih contoh Snowflake, menyediakan sambungan Snowflake tunggal dalam Qlik kemudian menukar gear untuk mula membina tugas replikasi di dalam kemudahan Penyepaduan Data Qlik.

Pada ketika ini, kami telah mewujudkan jalan daripada pangkalan data di premis kami, kepada pangkalan data awan kami. Untuk menggerakkan data, kita hanya perlu memberikannya motor – bukan unicycle.

Sensasi Replikasi

Qlik Cloud Data Integration menyediakan saluran paip ‘titik dan klik‘, untuk menyertai, mendarat dan menyimpan data anda. Setakat mendapatkan data dari premis ke awan, ini adalah bahagian terakhir kepada mesin.

Projek baharu telah disediakan dalam komponen Penyepaduan Data Qlik Cloud. Kami kemudian meneruskan untuk memasukkan data yang kebanyakannya melibatkan:

  1. Memilih pangkalan data Postgres dan jadual mana yang ingin kita tiru
  2. Beritahu di mana data akan direplikasi kepada iaitu. Pangkalan data kepingan salji
  3. Mengkonfigurasi skema Pendaratan dan Storan

Pada ketika inilah anda menyedari bahawa anda akan ‘menetapkan dan melupakan’ replikasi dan menukar teknologi penangkapan data antara dua pangkalan data berjenama yang berbeza, yang kedua-duanya menyokong fungsi berbeza yang tidak berada pada rangkaian yang sama – semuanya tanpa menulis satu baris kod.

Bilas dan ulangi dengan setiap pangkalan data dan saluran paip mula terbentuk.

sensasi replikasi

Empat daripada empat belas

Setakat replikasi dan penangkapan data perubahan, ini pada asasnya semua yang diperlukan untuk memindahkan data.

Beberapa keajaiban tambahan pada penghujung saluran paip menggabungkan setiap pangkalan data Postgres ke dalam satu skema, semuanya masih dalam satu contoh Snowflake. Skrip berasaskan pertanyaan Snowflake kecil diperlukan di sini untuk menggabungkan jadual bersama-sama, namun tiada apa yang menghalang anda daripada melakukan tindakan ini dalam alat pelaporan di penghujung rantaian, di luar Penyepaduan Data Qlik.

Papan pemuka

Dengan data di premis kami kini mereplikasi ke awan, kami boleh beralih kepada komponen Qlik Cloud Data Analytics (QCDA) untuk membina papan pemuka. Kami mahu mencipta antara muka yang mendedahkan ciri papan pemuka standard tetapi juga yang mewakili apa yang sebenarnya ditunjukkan pada panel hadapan UPS.

Oleh kerana tidak ada carta dalam Qlik Sense yang menyerupai UPS, kami memutuskan untuk memanfaatkan objek Peta yang merupakan ciri di luar kotak. Objek peta biasanya digunakan untuk, baik.. Peta. Tetapi ia juga membolehkan anda menggunakan lapisan latar belakang tersuai dan bukannya menunjukkan peta jalan konvensional.

Objek peta memerlukan dua lapisan, satu untuk imej SVG panel hadapan sebagai latar belakang dan lapisan kawasan untuk LED menyala. LED telah dikonfigurasikan dalam format KML, dan diplot di bahagian atas lapisan latar belakang untuk menunjukkan Beban, Status dan Kapasiti Bateri.

Jika difikirkan semula, lapisan SVG boleh (dan akan menjadi pada masa hadapan) ditukar dan digantikan dengan lapisan KML. SVG memerlukan sedikit penalaan halus dalam tetapan objek peta untuk dipaparkan dengan betul manakala KML jauh lebih lurus ke hadapan. Bos eksentrik kami mahu melangkah lebih jauh dan mengkonfigurasi keseluruhan lot menggunakan pelayan jubin di rumah. Itu akan menjadi penulisan untuk hari lain sebaik sahaja tidur telah dikembalikan.

Selebihnya visual untuk papan pemuka adalah sedikit lebih konvensional, tolok untuk Suhu, Muat dan Bateri dengan Status dan Minit Baki diwakili sebagai carta bar dan garisan masing-masing.

Sudah tentu, tiada papan pemuka yang lengkap tanpa semacam ‘Hei, lihat saya! Ada sesuatu yang tidak kena!‘ elemen. Berdasarkan sama ada UPS membekalkan kuasa bateri atau tidak, objek teks ringkas yang memaparkan status UPS, dengan kod warna yang sepadan, adalah semua yang kami perlukan. Hijau bermaksud bahawa UPS menerima kuasa utama, merah bermaksud bahawa tidak ada kuasa utama dan ia menggunakan bateri. iaitu lakukan sesuatu mengenainya dengan cepat.

Lihat ia pergi

Ia juga berfungsi di atas meja

TL; DR

Kami membina papan pemuka Qlik Sense dengan data yang pada asalnya tersebar di berbilang pangkalan data di premis yang telah direplikasi kepada satu pangkalan data awan dengan teknologi Penyepaduan Data Awan Qlik.

Pautan Luar

APC 3000 UPS Pintar – https://www.apc.com/us/en/product/SUA3000RM2U/apc-smartups-3000va-usb-serial-rm-2u-120v/

Nod-RED – https://nodered.org/

PostgreSQL – https://www.postgresql.org/

Penyepaduan Data Awan Qlik (QCDI) – https://www.qlik.com/us/products/cloud-data-integration

Kepingan salji – https://www.snowflake.com/en/

Qlik Cloud Data Analytics (QCDA) – https://www.qlik.com/us/cloud-analytics

Latest News

  • AI Sekolah Hale dalam Kajian Kes Penyelesaian Boon

    Sekolah Hale: AI dalam Pendidikan

  • Ubah Silo Data kepada Operasi Perlombongan yang Lebih Pintar

    Ubah Silo Data Berpecah-belah kepada Operasi Perlombongan yang Lebih Pintar

  • Membina AI yang Selamat dan Patuh pada 2025 Perkara Utama untuk Pemimpin Data daripada CDAO Perth 2024

    Membina AI yang Selamat dan Patuh pada 2025: Pengambilan Utama untuk Pemimpin Data daripada CDAO Perth 2024

  • AI dalam Kejuruteraan Pendidikan Sistem Selamat dan Bertanggungjawab untuk Sekolah Australia.

    AI di Sekolah Australia: Penyelesaian Selamat, Patuh dan Berskala

Upcoming Events

  • AI in Practice: Successful data planning and risk mitigation

    Your Content Goes Here

  • Data Integration Roundtable

    Your Content Goes Here