it-swarm-id.com

Apakah mungkin untuk mengganti lapisan data dalam WordPress?

WordPress tidak diragukan lagi sangat dapat dikustomisasi menggunakan plugin, tetapi setiap kemungkinan penyesuaian pasti memiliki batasan yang ditentukan oleh arsitektur yang mendasarinya.

Bagi mereka yang akrab dengan WP arsitektur dan kode sumber:

Apa upaya yang diperlukan untuk menyesuaikan lapisan data yang digunakan oleh WP untuk menggunakan penyimpanan data lain (mis. File (atau sistem basis data lain) alih-alih MySQL?). Apakah arsitektur WordPress berlapis dalam arti memiliki kemungkinan untuk beralih lapisan? Lapisan UI tampaknya sangat mudah untuk beralih (tema apa pun ini), tetapi bagaimana dengan lapisan lain, yaitu lapisan data?

4
Marek

Wordpress tidak dirancang untuk memiliki lapisan basis data yang dapat diganti. Ilmu Komputer memiliki beberapa konsep yang berbeda di dalam dadanya untuk menangani berbagai basis data dalam aplikasi yang sama pada tingkat abstraksi yang berbeda, Wordpress tidak cenderung memanfaatkannya. Untuk mengatakannya dengan kata-kata yang lebih sederhana: Tidak sama sekali.

Tetapi wordpress menawarkan kemampuan untuk mengganti kodenya sendiri dengan beberapa kode lain, misalnya seluruh kelas basis data. Itu tidak selalu (baca: normal) cukup untuk mengganti seluruh lapisan basis data tetapi membantu bermain-main. Kelas WPDB menggantikan HyperDB misalnya tidak menambahkan lapisan database baru secara penuh, tetapi menangani beberapa server MySQL, bukan satu, yang merupakan contoh terkenal (ini dianggap praktik buruk yang harus dilakukan dengan PHP, ada cara yang lebih baik , tetapi ini adalah contoh yang baik apa yang bisa dilakukan).

Di samping mengganti kelas basis data, Wordpress memiliki kemampuan sehingga lebih banyak kode dapat diganti dan Anda dapat sepenuhnya mengubahnya, mis. membuat distribusi sendiri yang menangani semuanya mengenai lapisan basis data itu sendiri.

Jika Anda ingin melihat contoh nyata tentang cara mengganti seluruh lapisan basis data, maka untuk membuat wordpress menggunakan jenis server basis data yang sama sekali berbeda (di sini: MSSQL alih-alih hardcoded MySQL), Anda menemukan distribusi penuh dan tambalan di sini :

WordPress di Distro SQL Server & Patch

Ini adalah perangkat lunak gratis yang dapat Anda pelajari bagaimana lapisan basis data seperti itu dapat diterapkan, situs web ini juga menyediakan lebih banyak informasi tentang topik itu.

Kiat: Jangan melawan Wordpress. Tetaplah pada MySQL dan hanya itu. Kalau tidak mencari sesuatu yang lebih baik dirancang agar sesuai dengan kebutuhan Anda. Ambil saja alat yang tepat untuk pekerjaan itu.

5
hakre

Itu mungkin: lihat penggantian HyperDB untuk wpdb. HyperDB menambahkan partisi dan replikasi ke WordPress. Partisi berfungsi dengan menyambungkan ke beberapa basis data dan menggunakan nama tabel untuk menentukan basis data mana yang harus menjalankan kueri.

Pada akhirnya, $wpdb hanya mendapatkan kueri SQL, dan bebas melakukan apa yang diinginkan dengan data dalam kueri itu. HyperDB menanyakan MySQL seperti kelas wpdb asli. Memperluas itu ke basis data yang berbeda akan membutuhkan memodifikasi kueri yang tidak sesuai sebelum dieksekusi. Jika penyimpanan data Anda tidak menerima SQL sama sekali, Anda harus menerjemahkan kueri masuk ke API apa pun yang Anda gunakan. Segala sesuatu mungkin terjadi dengan cukup waktu dan usaha, tetapi kedengarannya seperti usaha yang sangat menyedihkan bagi saya. ;)

2
Annika Backstrom

Baru saja menemukan halaman Codex ini yang merangkumnya dengan baik, termasuk tinjauan umum solusi yang diusulkan dan/atau direncanakan oleh orang-orang yang mengembangkan WordPress. Mari kita lihat bagaimana hasilnya.

0
Marek