Rumah pangkalan data tutorial mysql 使用mysql federated引擎构建MySQL分布式数据库访问层_MySQL

使用mysql federated引擎构建MySQL分布式数据库访问层_MySQL

Jun 01, 2016 pm 01:30 PM
apl Akses pangkalan data Sambung ke pangkalan data

bitsCN.com

使用mysql federated引擎构建MySQL分布式数据库访问层

 

本文所描述的 federated属于 MySQL的一种特殊引擎,利用它可将本地数据表映射至远程 MySQL 数据表,从而就可以解决应用程序中繁多的跨机器连接数据库问题,拓扑图如下:

使用mysql federated引擎构建MySQL分布式数据库访问层_MySQL

如此就可以构造出一个统一的数据访问入口,就大大提高了整个数据库系统的可维护性。 Federated引擎是基于表级别的,只能将本地数据表定义为 Federated 引擎并映射至远程实体表,无法实现基于库级别的整体映射。

 

在本文中,我们将启用Federated 引擎的数据库访问入口服务器称为本地数据库,而将本地数据表对应的远程数据表,称之为实体表。

 

本地数据库需要启用Federated 引擎支持,而远程数据表无须 Federated 引擎支持。 Federated 引擎表使用标准的 MySQL 客户端协议与远程数据库建立 TCP 连接。

 

创建Federated 表的过程:

 

 以root 登录远程 MySQL ,上创建合适的访问账号 grant all on DB1.* to 'federated'@'%' identified by 'federated'; flush privileges;

在远程MySQL 找到对应实体表的创建命令(如果是新表,请先建立好数据表,再执行此命令) 假设在远程mysql 上有库名 DB1, 表名 tag, 执行以下命令找到远程表的结构: show create table DB1.tag 输出: CREATE TABLE tag ( id int(10) unsigned NOT NULL AUTO_INCREMENT, name varchar(128) NOT NULL, frequency int(10) unsigned NOT NULL DEFAULT '1', PRIMARY KEY (id) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

 

假设我们要将远程的DB1.tag 映射至本地 DB.TableA 表上。那么我们应该保持本地虚拟表与远程实体表结构一致(结构可以有所差异,但会造成使用,管理上的麻烦)。根据远程实体表的创建命令,创建本地虚拟表 ( 结构部分完全一样,创建表选项有所差异 ) :

 

登录本地Mysql 服务器,创建相应的数据库及表: create database DB; use DB; CREATE TABLE TableA ( id int(10) unsigned NOT NULL AUTO_INCREMENT, name varchar(128) NOT NULL, frequency int(10) unsigned NOT NULL DEFAULT '1', PRIMARY KEY (id) ) ENGINE=federated connection="mysql://federated:federated@127.0.0.1 :3306/DB1/tag";

 

这时,即建立好了federated 虚拟表,实际上本地 MySQL 只创建了表定义文件 , 而没有数据文件。我们对本地虚拟表的数据修改,均会发送到远程机器上执行。

 

本地虚拟表名与远程表名,可不相同。

 

经过测试,这个引擎的一些额外特点: 1. 本地虚拟表与远程实体表之间是 TCP 长连接,并且是多个客户端利用的。所以不用担心因频繁建立连接带来的网络开销。 2. 本虚拟表表与远程实体表之间的网络连接断开后,当对虚拟表发起查询时,它会尝试重新连接远程实体表,所以我们不用担心网络连接断开造成的永久中断问题。 3. 如果无时间未对本地虚拟表作任何操作,虚拟表与实体表之间的连接将在远程主机的 wait_timeout 秒后自动断开,当对虚拟表发起查询时,连接又会重新建立。

 

一些注意事项: 1. 对本地虚拟表的结构修改,并不会修改远程表的结构 2.  truncate 命令,会清除远程表数据 3. drop命令只会删除虚拟表,并不会删除远程表 4. 不支持 alter table 命令 目前使用federated 最大的缺点: 1. select count(*), select * from limit M, N 等语句执行效率非常低,数据量较大时存在很严重的问题,但是按主键或索引列查询,则很快,如以下查询就非常慢(假设 id 为主索引) select id from db.tablea where id >100 limit 10 ; 而以下查询就很快: select id from db.tablea where id >100 and id

 

如果虚拟虚拟表中字段未建立索引,而实体表中为此字段建立了索引,此种情况下,性能也相当差。但是当给虚拟表建立索引后,性能恢复正常。

 

类似 where name like "str%" limit 1 的查询,即使在 name 列上创建了索引,也会导致查询过慢,是因为 federated引擎会将所有满足条件的记录读取到本,再进行 limit 处理。

 

这几个问题已经严重影响了federated 在实际环境中的应用。

bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tidak dapat menyimpan perubahan pada ralat aplikasi Photos dalam Windows 11 Tidak dapat menyimpan perubahan pada ralat aplikasi Photos dalam Windows 11 Mar 04, 2024 am 09:34 AM

Jika anda menghadapi ralat Tidak dapat menyimpan perubahan semasa menggunakan apl Foto untuk penyuntingan imej dalam Windows 11, artikel ini akan memberikan anda penyelesaian. Tidak dapat menyimpan perubahan. Ralat berlaku semasa menyimpan. Sila cuba sebentar lagi Masalah ini biasanya berlaku kerana tetapan kebenaran yang salah, kerosakan fail atau kegagalan sistem. Jadi, kami telah melakukan beberapa penyelidikan mendalam dan menyusun beberapa langkah penyelesaian masalah yang paling berkesan untuk membantu anda menyelesaikan isu ini dan memastikan anda boleh terus menggunakan apl Microsoft Photos dengan lancar pada peranti Windows 11 anda. Betulkan Tidak Dapat Menyimpan Perubahan pada Ralat Aplikasi Foto dalam Windows 11 Ramai pengguna telah bercakap tentang ralat aplikasi Microsoft Photos di forum yang berbeza

Ketahui cara menggunakan apl Nota Tanpa Had pada iPhone dan iPad Ketahui cara menggunakan apl Nota Tanpa Had pada iPhone dan iPad Nov 18, 2023 pm 01:45 PM

Apakah Nota Tanpa Batas pada iPhone? Seperti aplikasi iOS17 Diary, Boundless Notes ialah aplikasi produktiviti dengan banyak potensi kreatif. Ia adalah tempat yang bagus untuk mengubah idea menjadi realiti. Anda boleh menjadualkan projek, sumbang saran idea atau membuat papan mood supaya anda tidak kehabisan ruang untuk menyatakan idea anda. Apl ini membolehkan anda menambah foto, video, audio, dokumen, PDF, pautan web, pelekat dan banyak lagi di mana-mana sahaja pada kanvas yang tidak terhingga. Banyak alatan dalam Nota Tanpa Batas (seperti berus, bentuk dan banyak lagi) akan biasa kepada sesiapa sahaja yang menggunakan apl iWork seperti Keynote atau Nota. Kerjasama masa nyata dengan rakan sekerja, rakan sepasukan dan ahli projek kumpulan juga mudah kerana Freeform membenarkan

Foto tidak boleh membuka fail ini kerana format tidak disokong atau fail rosak Foto tidak boleh membuka fail ini kerana format tidak disokong atau fail rosak Feb 22, 2024 am 09:49 AM

Di Windows, apl Photos ialah cara yang mudah untuk melihat dan mengurus foto dan video. Melalui aplikasi ini, pengguna boleh mengakses fail multimedia mereka dengan mudah tanpa memasang perisian tambahan. Walau bagaimanapun, kadangkala pengguna mungkin menghadapi beberapa masalah, seperti menghadapi mesej ralat "Fail ini tidak boleh dibuka kerana format tidak disokong" semasa menggunakan apl Foto atau kerosakan fail semasa cuba membuka foto atau video. Keadaan ini boleh mengelirukan dan menyusahkan pengguna, memerlukan beberapa penyiasatan dan pembetulan untuk menyelesaikan isu tersebut. Pengguna melihat ralat berikut apabila mereka cuba membuka foto atau video pada apl Foto. Maaf, Foto tidak boleh membuka fail ini kerana format tidak disokong atau fail pada masa ini

Cara menyambungkan Apple Vision Pro ke PC Cara menyambungkan Apple Vision Pro ke PC Apr 08, 2024 pm 09:01 PM

Set kepala Apple Vision Pro tidak serasi asli dengan komputer, jadi anda mesti mengkonfigurasinya untuk menyambung ke komputer Windows. Sejak pelancarannya, Apple Vision Pro telah mendapat sambutan hangat, dan dengan ciri-ciri canggih dan kebolehkendaliannya yang meluas, mudah untuk mengetahui sebabnya. Walaupun anda boleh membuat beberapa pelarasan padanya agar sesuai dengan PC anda, dan fungsinya sangat bergantung pada AppleOS, jadi fungsinya akan terhad. Bagaimanakah saya boleh menyambungkan AppleVisionPro ke komputer saya? 1. Sahkan keperluan sistem Anda memerlukan versi terkini Windows 11 (PC tersuai dan peranti Surface tidak disokong) Menyokong 64-bit 2GHZ atau pemproses pantas lebih pantas GPU berprestasi tinggi, kebanyakannya

Bagaimana untuk menyelesaikan masalah ralat permulaan aplikasi 0xc000012d Bagaimana untuk menyelesaikan masalah ralat permulaan aplikasi 0xc000012d Jan 02, 2024 pm 12:53 PM

Apabila komputer rakan kehilangan fail tertentu, aplikasi tidak boleh dimulakan seperti biasa dengan kod ralat 0xc000012d Malah, ia boleh diselesaikan dengan memuat turun semula fail dan memasangnya. Aplikasi tidak boleh bermula seperti biasa 0xc000012d: 1. Pertama, pengguna perlu memuat turun ".netframework". 2. Kemudian cari alamat muat turun dan muat turun ke komputer anda. 3. Kemudian klik dua kali pada desktop untuk mula berjalan. 4. Selepas pemasangan selesai, kembali ke lokasi program yang salah dan buka program semula.

MS Paint tidak berfungsi dengan betul dalam Windows 11 MS Paint tidak berfungsi dengan betul dalam Windows 11 Mar 09, 2024 am 09:52 AM

Microsoft Paint tidak berfungsi dalam Windows 11/10? Nah, ini nampaknya masalah biasa dan kami mempunyai beberapa penyelesaian hebat untuk menyelesaikannya. Pengguna telah mengadu bahawa apabila cuba menggunakan MSPaint, ia tidak berfungsi atau terbuka. Bar skrol dalam apl tidak berfungsi, ikon tampal tidak muncul, ranap sistem, dsb. Nasib baik, kami telah mengumpulkan beberapa kaedah penyelesaian masalah yang paling berkesan untuk membantu anda menyelesaikan isu dengan aplikasi Microsoft Paint. Mengapa Microsoft Paint tidak berfungsi? Beberapa sebab yang mungkin mengapa MSPaint tidak berfungsi pada Windows 11/10 PC adalah seperti berikut: Pengecam keselamatan rosak. sistem digantung

Betulkan ralat caa90019 Microsoft Teams Betulkan ralat caa90019 Microsoft Teams Feb 19, 2024 pm 02:30 PM

Ramai pengguna telah mengadu tentang menghadapi kod ralat caa90019 setiap kali mereka cuba log masuk menggunakan Microsoft Teams. Walaupun ini adalah aplikasi komunikasi yang mudah, kesilapan ini sangat biasa. Betulkan Ralat Microsoft Teams: caa90019 Dalam kes ini, mesej ralat yang dipaparkan oleh sistem ialah: "Maaf, kami sedang mengalami masalah pada masa ini." Kami telah menyediakan senarai penyelesaian muktamad yang akan membantu anda menyelesaikan ralat Microsoft Teams caa90019. Langkah awal Jalankan sebagai pentadbir Kosongkan cache aplikasi Microsoft Teams Padam fail tetapan.json Kosongkan Microsoft daripada Pengurus Kredensial

Cara menggunakan berbilang benang untuk mengakses pangkalan data secara serentak dalam pembangunan C# Cara menggunakan berbilang benang untuk mengakses pangkalan data secara serentak dalam pembangunan C# Oct 09, 2023 pm 11:29 PM

Cara menggunakan berbilang benang untuk mengakses pangkalan data secara serentak dalam pembangunan C# Dalam pembangunan C#, akses serentak berbilang benang kepada pangkalan data adalah keperluan biasa. Menggunakan multi-threading boleh meningkatkan kecekapan operasi pangkalan data, tetapi anda juga perlu memberi perhatian kepada isu seperti keselamatan benang dan pengurusan sambungan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan multi-threading untuk mengakses pangkalan data secara serentak dalam C# dan memberikan contoh kod khusus. Cipta sambungan pangkalan data Sebelum menggunakan berbilang benang untuk mengakses pangkalan data secara serentak, anda perlu membuat sambungan pangkalan data terlebih dahulu. Biasanya, kami menggunakan Sql yang disediakan oleh ADO.NET

See all articles