当前位置:网站首页>Modèle de Cluster MySQL et scénario d'application
Modèle de Cluster MySQL et scénario d'application
2022-04-23 15:38:00 【Dengk2013】
Assistant provincial:
Mode bibliothèque unique:UnmysqlLa base de données contient toutes les données pertinentes.
Mode de regroupement séparé lecture - écriture:Ajouter une couche intermédiaire sur la base originale,Regroupement séparé de la lecture et de l'écriture avec des ensembles de données d'arrière - plan.Infrastructure globale:Bibliothèque de polices dérivée de la bibliothèque principale originale1,Bibliothèque de caractères2,
UtilisationmysqlMécanisme de synchronisation maître - esclave existant(C'est - à - dire::binlogSynchronisation des journaux),Reproduire les changements de données de la bibliothèque principale à partir de la bibliothèque,Assurer la synchronisation des données.La bibliothèque principale est généralement utilisée pour le traitement des écritures,
Lire à partir de la bibliothèque.Détails:Si vous ne pouvez pas terminer la séparation lecture - écriture en faisant face directement à la bibliothèque principale,Nécessité d'attribuer des intergiciels à puce à l'avant(Ali!mycat,JDShardingSphere),
L'intergiciel passe parcurdDemande,Pour déterminer la bibliothèque à gérer.MHAMiddleware haute disponibilité(C'est - à - dire::Le serveur principal est en panne.,MHAUn Middleware peut promouvoir un serveur primaire à partir d'une table).
Toutes les données du noeud sont synchronisées.Pour lire plus et écrire moins,Des millions d'applications Internet.
Sous - entrepôt sous - Tableau(Fractionnement)Mode Cluster:UnmysqlSi la base de données ne tient pas.Diviser les données de la base de données en différentes bases de données de noeuds(C'est - à - dire::Les données de la base de données des noeuds sont combinées en un corps de données complet).
Nécessite un Middleware pour le routage.(C'est exact.sqlAnalyser,Envoyer la demande à la base de données correspondante,Le processus de distribution des demandes est appelé routage).Pas de disponibilité élevée.
Pourquoi les grandes usines font - elles des tables verticales??
Il y a trop de champs dans une table qui doivent être divisés verticalement.
Qu'est - ce qu'un sous - Tableau horizontal?
Diviser les données en unités de comportement( Méthode du champ d'application ,hashDroit).Caractéristiques: Toutes les tables ont exactement la même structure . Pour résoudre les problèmes de stockage de grandes quantités de données .
Qu'est - ce qu'un sous - Tableau vertical?
Diviser le tableau en colonnes 2 Petite montre au - dessus de la feuille , Obtenir des données par l'Association primaire de clés étrangères .
Pourquoi faire ça??
Besoin de comprendremysqlDeInnoDBMoteur de traitement.
Les données de ligne sont appelées :row
L'Unit é de base des données de gestion est appelée Page :page; Taille par défaut de chaque page :16k
L'Unit é dans laquelle la page est sauvegardée est appelée Zone :Extent.
Relations: La zone se compose de pages consécutives , La page se compose de lignes consécutives .1024/16=64(C'est - à - dire::Un1M La zone de 64Page (s))
InnoDB1.0 Nouvelles caractéristiques après ,Compresser la page.
Compresser la page: Compression de la couche inférieure des données , Rendre la taille réelle inférieure à la taille logique .
Lors de la recherche de données entre les pages , Faible efficacité de compression et de décompression .Au moment de la conception de la table, Stocker autant de données de ligne que possible dans la page , Réduire la recherche de pages croisées , Ajouter une recherche en page .
Analyse:
1Les données de ligne sont:1K,1(En milliers de dollars des États - Unis)16K,C'est - à - dire:1(En milliers de dollars des États - Unis)16Données,1 Des milliards de données sont nécessaires 62510 000 pages
Après la pagination verticale ,1Les données de ligne sont:64Octets(1K=1024Octets),C'est - à - dire:1(En milliers de dollars des États - Unis)256Données,1 Des milliards de données sont nécessaires 4010 000 pages. Les données après la pagination sont basées sur id Extraction rapide de relations égales .
En divisant les champs importants individuellement en petits tableaux , Tenir plus de lignes de données par page , Après réduction de page , Réduire la portée de la numérisation des données ,Atteindre l'objectif d'améliorer l'efficacité de la mise en oeuvre.
Conditions de séparation verticale :
1. Les données d'un seul tableau s'élèvent à 10 millions
2. Champ super 20- Oui.,Et contientvachar,CLOB,BLOBChamp égal
Champ agrandir la base de la petite table :
Petite montre:Recherche de données、 Champs requis lors du tri ; Petits champs accessibles à haute fréquence
Grande montre: Champ d'accès LF ;Grand champ
Les clés primaires auto - incrémentales ne s'appliquent pas dans un environnement distribué.
Puisque la clé primaire auto - incrémentale doit être continue , Donc, par la méthode de la plage, on fait des tranches ,IDQuantité fixe.Impossible d'étendre dynamiquement.Ça va se produire.“Hotspot arrière”Effets.
Hotspot arrière:C'est - à - dire après le fractionnement selon la méthode de la plage,Données stockées dans les tranches précédentes,La dernière pièce est sous pression..
HashPlus grande efficacité du fractionnement.
UtiliserUUID Remplacer la clé primaire auto - incrémentale ?Je ne peux pas、
Impliquer le mécanisme sous - jacent de la base de données :
1.uuid,Le seul désordre. Le désordre entraîne un réarrangement de l'index .Lorsque la clé primaire est ordonnée,B+Il suffit d'ajouter l'arbre aux données originales.
Comment?? Algorithme de génération de clés primaires distribué et ordonné ?
Algorithme flocon de neige(SnowFlake),Twitter.
Structure:Bits de symbole(1bit)+Horodatage(41bit)+MachinesID(10bit)+Séquence(12bit)
Mode d'emploi:Appel directJARSac
L'algorithme flocon de neige exige une attention particulière à l'impact du rappel temporel .Peut - être.idPossibilité de répétition
Ali!canal
版权声明
本文为[Dengk2013]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231537380354.html
边栏推荐
- Node. JS ODBC connection PostgreSQL
- cadence SPB17.4 - Active Class and Subclass
- MySQL InnoDB transaction
- What role does the software performance test report play? How much is the third-party test report charged?
- 软件性能测试报告起着什么作用?第三方测试报告如何收费?
- Explanation 2 of redis database (redis high availability, persistence and performance management)
- Machine learning - logistic regression
- KNN, kmeans and GMM
- Mobile finance (for personal use)
- JSON date time date format
猜你喜欢
JVM-第2章-类加载子系统(Class Loader Subsystem)
CAP定理
Basic concepts of website construction and management
Demonstration meeting on startup and implementation scheme of swarm intelligence autonomous operation smart farm project
Sword finger offer (2) -- for Huawei
群体智能自主作业智慧农场项目启动及实施方案论证会议
Machine learning - logistic regression
Krpano panorama vtour folder and tour
Advantages, disadvantages and selection of activation function
Special analysis of China's digital technology in 2022
随机推荐
Control structure (I)
网站压测工具Apache-ab,webbench,Apache-Jemeter
Common interview questions of operating system:
一刷312-简单重复set-剑指 Offer 03. 数组中重复的数字(e)
山寨版归并【上】
Squid agent
How to test mobile app?
c语言---字符串+内存函数
Educational Codeforces Round 127 A-E题解
JSON date time date format
Mumu, go all the way
How did the computer reinstall the system? The display has no signal
布隆过滤器在亿级流量电商系统的应用
Cookie&Session
PHP 的运算符
使用 Bitnami PostgreSQL Docker 镜像快速设置流复制集群
【AI周报】英伟达用AI设计芯片;不完美的Transformer要克服自注意力的理论缺陷
Detailed explanation of redirection and request forwarding
负载均衡器
Summary of interfaces for JDBC and servlet to write CRUD