Maison base de données tutoriel mysql 导数中的最小化日志记录:背景和理论_MySQL

导数中的最小化日志记录:背景和理论_MySQL

May 27, 2016 pm 04:57 PM
理论 背景

什么是最小化日志(Minimal Logging)?

 

当数据库的恢复模式为SIMPLE或者BULK_LOGGED时,对于最小化日志类型的操作,事务日志不记录单独每个数据行的日志,而是记录对应页和区结构的修改日志。

这样显著减少了操作产生的事务日志数量。例如,向某个数据页上插入200行数据,在最小化日志记录的情况下,只会记录一条此数据页变化的日志,而不是200条Insert日志。

 

最小化日志类型的操作

SELECT INTO 

Bulk导数操作,包括 BULK INSERT和BCP

INSERT INTO . . . SELECT,包括两种情况:

 

a) SELECT中使用OPENROWSET(BULK. . .) 

 

b)目标表不具有非聚集索引,向其插入超过8页的数据量,并且使用了TABLOCK时。如果目标表为空,可以有聚集索引,如果不为空,则不可以。

 

部分更新大值类型的列

 

UPDATE中使用.WRITE插入数据或追加数据时

 

对LOB字段使用WRITETEXT和UPDATETEXT插入或者追加新数据,不包括更新。

 

索引操作,包括在表/视图上CREATE INDEX,ALTER INDEX REBUILD,DBCC DBREINDEX,DROP INDEX(新堆的重新生成将按最小方式记录)

 

数据导入中的最小化日志记录

 

本文关注的是数据导入的最小化日志记录,指BULK INSERT导数操作。很多理论在其它类型的操作上是通用的。

  

1. 普通的INSERT

 

SQL Server中使用锁和日志记录来保证数据库事务的ACID属性。在插入一行数据的整个事务期间,为了避免并发事务访问,这一行会被锁定;

 

同样这一行还会被写入日志记录。插入一行数据的大概的步骤如下:

 

通过行锁锁定行。

 

写入日志记录。日志记录包含被插入行的完整数据。

 

数据行被写入数据页。

 

多行插入时,每一行都会重复以上步骤。这里指大概操作原型,实际处理复杂的多,如锁升级,约束检查等等

 

2. BULK导入

 

当BULK导入提交事务时,事务使用到的所有数据页会被写入磁盘,这样来保证事务原子性。相当于每次提交事务时都做一次CHECKPOINT。如果需要回滚BULK事务,SQL Server会检索日志获取事务涉及的页或者区信息,然后将之重新标记为未使用。备份事务日志时会将BULK涉及的数据页和索引页都备份到日志备份中。还原包含BULK事务的日志备份时,不支持还原到指定时间点。

 

每个数据文件第八个页是BCM页(BULK Chandged Map),之后每隔511230页会有一个BCM页。BCM上的每一位(Bit)代表着一个区,如果此位为1,则表示自上次BACKUP LOG后,这个区被BULK类型操作修改过。再下次日志备份时,会将这些被修改过的区复制到日志备份中。

 

3. 使用最小日志记录导入数据时需要满足的条件

 

并不是任何情况下都可以实现最小日志导数,判断逻辑如下(来自Itzik Ben-Gan)

 

a) SQL Server 2008之前的版本判断逻辑:

non-FULL recovery model

AND NOT replicated

AND TABLOCK

AND (

               Heap

               OR (B-tree AND empty)

       )

 

      b) SQL Server 2008及以后版本的判断逻辑:

Non-FULL recovery model

AND NOT replicated

AND (

          (Heap AND TABLOCK)

          OR (B-tree AND empty AND TABLOCK)

          OR (B-tree AND empty AND TF-610)

          OR (B-tree AND nonempty AND TF-610 AND key-range)

 

从SQL 2008开始可以使用跟踪标记610和排它键范围锁,实现空/非空聚集索引表的最小化日志操作。

 

排他键范围锁的作用例子:聚集索引表tb(id INT),目前有4行数据,分别为1,1000,2000,3000。现在需要向表中插入500行数据,这些数据的值区间为[1001,1500]。

 

当插入时,SQL Server不需要获取聚集索引整体的排它锁(像tablock这种),而只是获取原有键值区间的排它键范围锁。这里就是在(1000,2000)区间上获取X KEY-RANGE LOCK。而不在这个区间的数据,仍然可以被其它进程访问。如果要实现非空索引表的最小化日志记录导数,需要预先将导入数据按目标表的索引键值列进行排序,并启用跟踪标记610。

 

从上面的判断逻辑可以看出,实现最小日志记录的大前提是:数据库不是完整恢复模式且表没有标记为复制。对于堆表总是需要使用TABLOCK。对于索引表,则要分为空表和非空表两种情况来处理。这部分内容在后文的例子再展开来说明。

 

观察BULK导入的日志

 

使用未公开的系统函数sys.fn_dblog查找相关的日志内容。fn_dblog接受两个参数用以指定要查询的日志区间,分别表示开始和结束的LSN。输出字段中,此文需要关注的是Operation, Context, Log Record Length和AllocUnitName。因为是未公开的的函数,所以输出内容代表的意义,需要结合个人经验和大家的“共识”来解读。

 

Operation(LOP):表示执行何种日志操作, 例如修改行为LOP_MODIFY_ROW,设置位图页时为LOP_SET_BITS等等。

 

Context(LCX):日志操作的上下文,一般表示受影响的对象类型。例如LCX_GAM,LCX_HEAP,LCX_PFS等。

 

Log Record Length:以byte为单位的日志长度

AllocUnitName:表示受影响的具体对象

使用如下脚本进行分析,脚本来自Jakub K 

 

-- 日志条目录数据和总大小
SELECT COUNT(*)AS numrecords,
  CAST((COALESCE(SUM([Log Record LENGTH]), 0))
    / 1024. / 1024. AS NUMERIC(12, 2)) AS size_mb
FROM sys.fn_dblog(NULL, NULL) AS D
WHERE AllocUnitName = 'dbo.tableName' OR AllocUnitName LIKE 'dbo.tableName.%';

-- 各类型日志的平均长度和数量
SELECT Operation, Context,
  AVG([Log Record LENGTH]) AS AvgLen, COUNT(*) AS Cnt
FROM sys.fn_dblog(NULL, NULL) AS D
WHERE AllocUnitName = 'dbo.tableName' OR AllocUnitName LIKE 'dbo.tableName.%'
GROUP BY Operation, Context, ROUND([Log Record LENGTH], -2)
ORDER BY AvgLen, Operation, Context;
Copier après la connexion

 


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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines 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)

Repoussant les limites de la détection de défauts traditionnelle, « Defect Spectrum » permet pour la première fois une détection de défauts industriels d'une ultra haute précision et d'une sémantique riche. Repoussant les limites de la détection de défauts traditionnelle, « Defect Spectrum » permet pour la première fois une détection de défauts industriels d'une ultra haute précision et d'une sémantique riche. Jul 26, 2024 pm 05:38 PM

Dans la fabrication moderne, une détection précise des défauts est non seulement la clé pour garantir la qualité des produits, mais également la clé de l’amélioration de l’efficacité de la production. Cependant, les ensembles de données de détection de défauts existants manquent souvent de précision et de richesse sémantique requises pour les applications pratiques, ce qui rend les modèles incapables d'identifier des catégories ou des emplacements de défauts spécifiques. Afin de résoudre ce problème, une équipe de recherche de premier plan composée de l'Université des sciences et technologies de Hong Kong, Guangzhou et de Simou Technology a développé de manière innovante l'ensemble de données « DefectSpectrum », qui fournit une annotation à grande échelle détaillée et sémantiquement riche des défauts industriels. Comme le montre le tableau 1, par rapport à d'autres ensembles de données industrielles, l'ensemble de données « DefectSpectrum » fournit le plus grand nombre d'annotations de défauts (5 438 échantillons de défauts) et la classification de défauts la plus détaillée (125 catégories de défauts).

Le modèle de dialogue NVIDIA ChatQA a évolué vers la version 2.0, avec la longueur du contexte mentionnée à 128 Ko Le modèle de dialogue NVIDIA ChatQA a évolué vers la version 2.0, avec la longueur du contexte mentionnée à 128 Ko Jul 26, 2024 am 08:40 AM

La communauté ouverte LLM est une époque où une centaine de fleurs fleurissent et s'affrontent. Vous pouvez voir Llama-3-70B-Instruct, QWen2-72B-Instruct, Nemotron-4-340B-Instruct, Mixtral-8x22BInstruct-v0.1 et bien d'autres. excellents interprètes. Cependant, par rapport aux grands modèles propriétaires représentés par le GPT-4-Turbo, les modèles ouverts présentent encore des lacunes importantes dans de nombreux domaines. En plus des modèles généraux, certains modèles ouverts spécialisés dans des domaines clés ont été développés, tels que DeepSeek-Coder-V2 pour la programmation et les mathématiques, et InternVL pour les tâches de langage visuel.

Google AI a remporté la médaille d'argent de l'Olympiade mathématique de l'OMI, le modèle de raisonnement mathématique AlphaProof a été lancé et l'apprentissage par renforcement est de retour. Google AI a remporté la médaille d'argent de l'Olympiade mathématique de l'OMI, le modèle de raisonnement mathématique AlphaProof a été lancé et l'apprentissage par renforcement est de retour. Jul 26, 2024 pm 02:40 PM

Pour l’IA, l’Olympiade mathématique n’est plus un problème. Jeudi, l'intelligence artificielle de Google DeepMind a réalisé un exploit : utiliser l'IA pour résoudre la vraie question de l'Olympiade mathématique internationale de cette année, l'OMI, et elle n'était qu'à un pas de remporter la médaille d'or. Le concours de l'OMI qui vient de se terminer la semaine dernière comportait six questions portant sur l'algèbre, la combinatoire, la géométrie et la théorie des nombres. Le système d'IA hybride proposé par Google a répondu correctement à quatre questions et a marqué 28 points, atteignant le niveau de la médaille d'argent. Plus tôt ce mois-ci, le professeur titulaire de l'UCLA, Terence Tao, venait de promouvoir l'Olympiade mathématique de l'IA (AIMO Progress Award) avec un prix d'un million de dollars. De manière inattendue, le niveau de résolution de problèmes d'IA s'était amélioré à ce niveau avant juillet. Posez les questions simultanément sur l'OMI. La chose la plus difficile à faire correctement est l'OMI, qui a la plus longue histoire, la plus grande échelle et la plus négative.

Le point de vue de la nature : les tests de l'intelligence artificielle en médecine sont dans le chaos. Que faut-il faire ? Le point de vue de la nature : les tests de l'intelligence artificielle en médecine sont dans le chaos. Que faut-il faire ? Aug 22, 2024 pm 04:37 PM

Editeur | ScienceAI Sur la base de données cliniques limitées, des centaines d'algorithmes médicaux ont été approuvés. Les scientifiques se demandent qui devrait tester les outils et comment le faire au mieux. Devin Singh a vu un patient pédiatrique aux urgences subir un arrêt cardiaque alors qu'il attendait un traitement pendant une longue période, ce qui l'a incité à explorer l'application de l'IA pour réduire les temps d'attente. À l’aide des données de triage des salles d’urgence de SickKids, Singh et ses collègues ont construit une série de modèles d’IA pour fournir des diagnostics potentiels et recommander des tests. Une étude a montré que ces modèles peuvent accélérer les visites chez le médecin de 22,3 %, accélérant ainsi le traitement des résultats de près de 3 heures par patient nécessitant un examen médical. Cependant, le succès des algorithmes d’intelligence artificielle dans la recherche ne fait que le vérifier.

Formation avec des millions de données cristallines pour résoudre le problème de la phase cristallographique, la méthode d'apprentissage profond PhAI est publiée dans Science Formation avec des millions de données cristallines pour résoudre le problème de la phase cristallographique, la méthode d'apprentissage profond PhAI est publiée dans Science Aug 08, 2024 pm 09:22 PM

Editeur | KX À ce jour, les détails structurels et la précision déterminés par cristallographie, des métaux simples aux grandes protéines membranaires, sont inégalés par aucune autre méthode. Cependant, le plus grand défi, appelé problème de phase, reste la récupération des informations de phase à partir d'amplitudes déterminées expérimentalement. Des chercheurs de l'Université de Copenhague au Danemark ont ​​développé une méthode d'apprentissage en profondeur appelée PhAI pour résoudre les problèmes de phase cristalline. Un réseau neuronal d'apprentissage en profondeur formé à l'aide de millions de structures cristallines artificielles et de leurs données de diffraction synthétique correspondantes peut générer des cartes précises de densité électronique. L'étude montre que cette méthode de solution structurelle ab initio basée sur l'apprentissage profond peut résoudre le problème de phase avec une résolution de seulement 2 Angströms, ce qui équivaut à seulement 10 à 20 % des données disponibles à la résolution atomique, alors que le calcul ab initio traditionnel

Afin de fournir un nouveau système de référence et d'évaluation de questions-réponses scientifiques et complexes pour les grands modèles, l'UNSW, Argonne, l'Université de Chicago et d'autres institutions ont lancé conjointement le cadre SciQAG. Afin de fournir un nouveau système de référence et d'évaluation de questions-réponses scientifiques et complexes pour les grands modèles, l'UNSW, Argonne, l'Université de Chicago et d'autres institutions ont lancé conjointement le cadre SciQAG. Jul 25, 2024 am 06:42 AM

L'ensemble de données ScienceAI Question Answering (QA) joue un rôle essentiel dans la promotion de la recherche sur le traitement du langage naturel (NLP). Des ensembles de données d'assurance qualité de haute qualité peuvent non seulement être utilisés pour affiner les modèles, mais également évaluer efficacement les capacités des grands modèles linguistiques (LLM), en particulier la capacité à comprendre et à raisonner sur les connaissances scientifiques. Bien qu’il existe actuellement de nombreux ensembles de données scientifiques d’assurance qualité couvrant la médecine, la chimie, la biologie et d’autres domaines, ces ensembles de données présentent encore certaines lacunes. Premièrement, le formulaire de données est relativement simple, et la plupart sont des questions à choix multiples. Elles sont faciles à évaluer, mais limitent la plage de sélection des réponses du modèle et ne peuvent pas tester pleinement la capacité du modèle à répondre aux questions scientifiques. En revanche, les questions et réponses ouvertes

Identifiez automatiquement les meilleures molécules et réduisez les coûts de synthèse. Le MIT développe un cadre d'algorithme de prise de décision en matière de conception moléculaire. Identifiez automatiquement les meilleures molécules et réduisez les coûts de synthèse. Le MIT développe un cadre d'algorithme de prise de décision en matière de conception moléculaire. Jun 22, 2024 am 06:43 AM

Éditeur | L’utilisation de Ziluo AI pour rationaliser la découverte de médicaments explose. Ciblez des milliards de molécules candidates pour détecter celles qui pourraient posséder les propriétés nécessaires au développement de nouveaux médicaments. Il y a tellement de variables à prendre en compte, depuis le prix des matériaux jusqu’au risque d’erreur, qu’évaluer les coûts de synthèse des meilleures molécules candidates n’est pas une tâche facile, même si les scientifiques utilisent l’IA. Ici, les chercheurs du MIT ont développé SPARROW, un cadre d'algorithme de prise de décision quantitative, pour identifier automatiquement les meilleurs candidats moléculaires, minimisant ainsi les coûts de synthèse tout en maximisant la probabilité que les candidats possèdent les propriétés souhaitées. L’algorithme a également identifié les matériaux et les étapes expérimentales nécessaires à la synthèse de ces molécules. SPARROW prend en compte le coût de synthèse d'un lot de molécules à la fois, puisque plusieurs molécules candidates sont souvent disponibles

Les performances de SOTA, la méthode d'IA de prédiction d'affinité protéine-ligand multimodale de Xiamen, combinent pour la première fois des informations sur la surface moléculaire Les performances de SOTA, la méthode d'IA de prédiction d'affinité protéine-ligand multimodale de Xiamen, combinent pour la première fois des informations sur la surface moléculaire Jul 17, 2024 pm 06:37 PM

Editeur | KX Dans le domaine de la recherche et du développement de médicaments, il est crucial de prédire avec précision et efficacité l'affinité de liaison des protéines et des ligands pour le criblage et l'optimisation des médicaments. Cependant, les études actuelles ne prennent pas en compte le rôle important des informations sur la surface moléculaire dans les interactions protéine-ligand. Sur cette base, des chercheurs de l'Université de Xiamen ont proposé un nouveau cadre d'extraction de caractéristiques multimodales (MFE), qui combine pour la première fois des informations sur la surface des protéines, la structure et la séquence 3D, et utilise un mécanisme d'attention croisée pour comparer différentes modalités. alignement. Les résultats expérimentaux démontrent que cette méthode atteint des performances de pointe dans la prédiction des affinités de liaison protéine-ligand. De plus, les études d’ablation démontrent l’efficacité et la nécessité des informations sur la surface des protéines et de l’alignement des caractéristiques multimodales dans ce cadre. Les recherches connexes commencent par "S

See all articles