Maison Les sujets phpmysql PHP combiné à MySQL réalise des dizaines de millions de traitements de données

PHP combiné à MySQL réalise des dizaines de millions de traitements de données

Dec 22, 2020 pm 05:55 PM
数据处理

PHP MySQLLa colonne explique comment réaliser des dizaines de millions de traitements de données

PHP combiné à MySQL réalise des dizaines de millions de traitements de données

Recommandé (gratuit) : PHP MySQL

idée de sous-table MySQL


Une table de commandes de 100 millions peut être divisée en cinq tables, de sorte que chaque table ne contienne que 20 millions de données, partageant la pression de la table d'origine. Les sous-tables doivent être divisées selon certaines conditions. Ici, vous pouvez les diviser selon Pour diviser les tableaux par région, un middleware est nécessaire pour contrôler à quel tableau accéder pour trouver les données souhaitées.
Middleware : Utiliser l'identifiant auto-incrémenté de la table principale comme middleware (quels champs conviennent au middleware ? Il doit être unique)
Comment distribuer ? Après l'insertion dans la table principale, un identifiant est renvoyé et le modulo est pris en fonction de cet identifiant et du nombre de tables. Les données sont insérées dans la table dans laquelle se trouve le reste.
Remarque : L'identifiant de la sous-table doit être cohérent avec l'identifiant de la table principale
À l'avenir, seules les opérations d'insertion utiliseront la table principale, la modification, la suppression et la lecture n'auront pas besoin d'utiliser le table principale

PHP 结合 MySQL 千万级数据处理

file d'attente de messages redis

1.
Conteneur de sauvegarde des messages lors de la propagation des messages
2. Raisons historiques de la création de files d'attente de messages

PHP 结合 MySQL 千万级数据处理

Caractéristiques des files d'attente de messages : premier entré, premier sorti
Les instructions SQL exécutées sont d'abord enregistrées dans la file d'attente des messages, puis insérées séquentiellement dans la base de données de manière fluide et asynchrone
Application : Sina, placez d'abord les commentaires instantanés dans la file d'attente des messages, puis insérez les instructions SQL dans le message. file d'attente séquentiellement à travers les tâches planifiées. Accédez à la base de données

Modifier

Sous-tableau des opérations pour modifier

PHP 结合 MySQL 千万级数据处理.

Modifier comme ceci Il y a un problème. Les données de la table principale et de la sous-table seront incohérentes. Comment rendre cohérentes les données de la table principale et de la sous-table ?

La file d'attente Redis maintient la cohérence des données de la table principale et des sous-tables

Une fois la modification terminée, les données de la table principale seront être modifié et stocké dans la file d'attente Redis

PHP 结合 MySQL 千万级数据处理

Ensuite, la tâche planifiée Linux (contble) boucle pour exécuter l'instruction SQL dans la file d'attente Redis et met à jour de manière synchrone le contenu de la table principale

PHP 结合 MySQL 千万级数据处理

Sous-table distribuée MySQL (requête, suppression)

La requête doit uniquement interroger le sous-table, pas la table principale

PHP 结合 MySQL 千万级数据处理

Pour supprimer, recherchez d'abord la sous-table à supprimer en fonction de l'ID, puis supprimez-la, puis envoyez une instruction SQL pour supprimer les données de la table maître dans la file d'attente des messages
puis exécuter une tâche planifiée pour supprimer les données de la table maître

PHP 结合 MySQL 千万级数据处理

Tâches planifiées :

PHP 结合 MySQL 千万级数据处理

Sous-bibliothèque distribuée MySQL

Idées de sous-bibliothèques

PHP 结合 MySQL 千万级数据处理

Schéma de la sous-bibliothèque :

PHP 结合 MySQL 千万级数据处理

PHP 结合 MySQL 千万级数据处理

Bibliothèque de branches distribuées MySQL (augmentée)

PHP 结合 MySQL 千万级数据处理
Remarque : après une opération, la base de données doit fermer la connexion à la base de données, sinon mysql pensera que c'est la même base de données à laquelle il a été connecté

ou prendra le module pour déterminer quel fichier de configuration charger et se connecter à quelle base de données

PHP 结合 MySQL 千万级数据处理

Bibliothèque de branches distribuées MySQL (modifiée)

Le principe est le même que la nouvelle

PHP 结合 MySQL 千万级数据处理

Base de données de branches distribuées MySQL (vérifier, supprimer)

Le principe est similaire

PHP 结合 MySQL 千万级数据处理
Supprimer

PHP 结合 MySQL 千万级数据处理
File d'attente d'exécution

Application de cache distribué MySQL (memcache)

Mettre les données dans le cache pour économiser la surcharge de la base de données. Allez d'abord dans le cache pour vérifier, s'il y en a un, supprimez-le directement. Sinon, allez dans la base de données pour vérifier, puis stockez-le dans le cache

PHP 结合 MySQL 千万级数据处理<.>

Après avoir modifié les informations, vous devez supprimer le cache, sinon il continuera à lire. Il s'agit de données mises en cache plutôt que de données modifiées

PHP 结合 MySQL 千万级数据处理.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser des itérateurs et des algorithmes récursifs pour traiter des données en C# Comment utiliser des itérateurs et des algorithmes récursifs pour traiter des données en C# Oct 08, 2023 pm 07:21 PM

Comment utiliser des itérateurs et des algorithmes récursifs pour traiter des données en C# nécessite des exemples de code spécifiques. En C#, les itérateurs et les algorithmes récursifs sont deux méthodes de traitement de données couramment utilisées. Les itérateurs peuvent nous aider à parcourir les éléments d'une collection et les algorithmes récursifs peuvent gérer efficacement des problèmes complexes. Cet article explique comment utiliser les itérateurs et les algorithmes récursifs pour traiter les données et fournit des exemples de code spécifiques. Utilisation d'itérateurs pour traiter les données En C#, nous pouvons utiliser des itérateurs pour parcourir les éléments d'une collection sans connaître à l'avance la taille de la collection. Grâce à l'itérateur, je

Pandas lit facilement les données de la base de données SQL Pandas lit facilement les données de la base de données SQL Jan 09, 2024 pm 10:45 PM

Outil de traitement des données : Pandas lit les données dans les bases de données SQL et nécessite des exemples de code spécifiques. À mesure que la quantité de données continue de croître et que leur complexité augmente, le traitement des données est devenu une partie importante de la société moderne. Dans le processus de traitement des données, Pandas est devenu l'un des outils préférés de nombreux analystes de données et scientifiques. Cet article explique comment utiliser la bibliothèque Pandas pour lire les données d'une base de données SQL et fournit des exemples de code spécifiques. Pandas est un puissant outil de traitement et d'analyse de données basé sur Python

Comment implémenter la fonction push de données en temps réel dans MongoDB Comment implémenter la fonction push de données en temps réel dans MongoDB Sep 21, 2023 am 10:42 AM

Comment implémenter la fonction push de données en temps réel dans MongoDB MongoDB est une base de données NoSQL orientée document, caractérisée par une grande évolutivité et un modèle de données flexible. Dans certains scénarios d'application, nous devons envoyer des mises à jour de données au client en temps réel afin de mettre à jour l'interface ou d'effectuer les opérations correspondantes en temps opportun. Cet article présentera comment implémenter la fonction push de données en temps réel dans MongoDB et donnera des exemples de code spécifiques. Il existe de nombreuses façons d'implémenter la fonctionnalité push en temps réel, par exemple en utilisant l'interrogation, l'interrogation longue, le Web

Comment Golang améliore-t-il l'efficacité du traitement des données ? Comment Golang améliore-t-il l'efficacité du traitement des données ? May 08, 2024 pm 06:03 PM

Golang améliore l'efficacité du traitement des données grâce à la concurrence, à une gestion efficace de la mémoire, à des structures de données natives et à de riches bibliothèques tierces. Les avantages spécifiques incluent : Traitement parallèle : les coroutines prennent en charge l'exécution de plusieurs tâches en même temps. Gestion efficace de la mémoire : le mécanisme de récupération de place gère automatiquement la mémoire. Structures de données efficaces : les structures de données telles que les tranches, les cartes et les canaux accèdent et traitent rapidement les données. Bibliothèques tierces : couvrant diverses bibliothèques de traitement de données telles que fasthttp et x/text.

Utilisez Redis pour améliorer l'efficacité du traitement des données des applications Laravel Utilisez Redis pour améliorer l'efficacité du traitement des données des applications Laravel Mar 06, 2024 pm 03:45 PM

Utilisez Redis pour améliorer l'efficacité du traitement des données des applications Laravel Avec le développement continu des applications Internet, l'efficacité du traitement des données est devenue l'une des priorités des développeurs. Lors du développement d'applications basées sur le framework Laravel, nous pouvons utiliser Redis pour améliorer l'efficacité du traitement des données et obtenir un accès et une mise en cache rapides des données. Cet article expliquera comment utiliser Redis pour le traitement des données dans les applications Laravel et fournira des exemples de code spécifiques. 1. Introduction à Redis Redis est une mémoire de données haute performance

Comment les capacités de traitement des données de Laravel et de CodeIgniter se comparent-elles ? Comment les capacités de traitement des données de Laravel et de CodeIgniter se comparent-elles ? Jun 01, 2024 pm 01:34 PM

Comparez les capacités de traitement des données de Laravel et CodeIgniter : ORM : Laravel utilise EloquentORM, qui fournit un mappage relationnel classe-objet, tandis que CodeIgniter utilise ActiveRecord pour représenter le modèle de base de données en tant que sous-classe de classes PHP. Générateur de requêtes : Laravel dispose d'une API de requêtes chaînées flexible, tandis que le générateur de requêtes de CodeIgniter est plus simple et basé sur des tableaux. Validation des données : Laravel fournit une classe Validator qui prend en charge les règles de validation personnalisées, tandis que CodeIgniter a moins de fonctions de validation intégrées et nécessite un codage manuel des règles personnalisées. Cas pratique : l'exemple d'enregistrement d'utilisateur montre Lar

Outil de traitement de données : techniques efficaces pour lire des fichiers Excel avec des pandas Outil de traitement de données : techniques efficaces pour lire des fichiers Excel avec des pandas Jan 19, 2024 am 08:58 AM

Avec la popularité croissante du traitement des données, de plus en plus de personnes s’intéressent à la manière d’utiliser efficacement les données et de les faire fonctionner pour elles-mêmes. Dans le traitement quotidien des données, les tableaux Excel sont sans aucun doute le format de données le plus répandu. Cependant, lorsqu’une grande quantité de données doit être traitée, l’utilisation manuelle d’Excel deviendra évidemment très longue et laborieuse. Par conséquent, cet article présentera un outil de traitement de données efficace - les pandas, et comment utiliser cet outil pour lire rapidement des fichiers Excel et effectuer un traitement de données. 1. Introduction aux pandas pandas

Utiliser Pandas pour renommer les noms de colonnes pour un traitement efficace des données Utiliser Pandas pour renommer les noms de colonnes pour un traitement efficace des données Jan 11, 2024 pm 05:14 PM

Traitement efficace des données : L'utilisation de Pandas pour modifier les noms de colonnes nécessite des exemples de code spécifiques. Le traitement des données est une partie très importante de l'analyse des données, et pendant le processus de traitement des données, il est souvent nécessaire de modifier les noms de colonnes des données. Pandas est une puissante bibliothèque de traitement de données qui fournit une multitude de méthodes et de fonctions pour nous aider à traiter les données rapidement et efficacement. Cet article explique comment utiliser Pandas pour modifier les noms de colonnes et fournit des exemples de code spécifiques. Dans l'analyse réelle des données, les noms de colonnes des données d'origine peuvent avoir des normes de dénomination incohérentes et sont difficiles à comprendre.

See all articles