web-dev-qa-db-fra.com

Le terme "page" a-t-il la même signification dans les JARGONS DBMS et OS?

J'apprends le Format de données de SGBD et que nous avons trouvé un terme: page.

pages Les données récupérées dans la mémoire principale à partir de stockage externe (par exemple, un disque, SSD) et plusieurs pages seraient Soyez "mis en cache" d'abord au cache de niveau bas , lorsque ces pages sont acquises par une requête.

Cela me rappelle le même terme page utilisé dans les systèmes d'exploitation et l'architecture informatique. Certaines descriptions formelles sur cette "pagination" du wiki sont:

La pagination est un schéma de gestion de la mémoire par lequel un ordinateur stocke et récupère des données de stockage secondaire à utiliser dans la mémoire principale. Dans ce schéma, le système d'exploitation récupère des données de stockage secondaire dans des blocs de même taille appelés pages. La pagination est une partie importante des implémentations de la mémoire virtuelle dans les systèmes d'exploitation modernes, à l'aide de stockage secondaire pour permettre aux programmes de dépasser la taille de la mémoire physique disponible.


Il s'agit donc de la première question:

  1. Est-ce que le terme page Portez la même signification dans le SGBD et dans le système d'exploitation?

    • Si oui, pouvez-vous expliquer question 2 un peu?
    • Sinon, pouvez-vous expliquer pourquoi? Ont-ils une façon différente d'être mis en œuvre?

Un pas plus:

  1. Dans la conférence, nous apprenons le fichier N-ARY Modèle de stockage (NSM ou Pages fendues) et PAX (Attributs de partition à travers)voir ce papier du professeur Ailamaki . Supposez page a la même signification dans le SGBD et le système d'exploitation, pourquoi spécifie-nous le NSM et la PAX uniquement dans le SGBD? Ce format de page peut-il être portable au système d'exploitation? (Sur le papier sera utile que vous allez simplement aller rapidement à la disposition des données et les chiffres.)

The Question 2 est la raison principale que je soulevais la question ici et que je commence à me demander pourquoi NSM, PAX pages sont spéciales pour le SGBD. Cette question est plus générale et ne s'est pas concentrée sur des SGBD en tête particuliers.

3
Jigao

La page terme a-t-elle la même signification dans le SGBD et dans le système d'exploitation?

Généralement, oui. Le terme PAGE est un générique pour la plus petite unité d'espace allocation. Dans SQL Server, par exemple, les pages sont une taille fixe et ont toujours été 4K et 8K, en fonction de la version (ne comptant pas les grandes pages qui sont des structures de mémoire virtuelle et non de la base de données) et dans les pages Windows peuvent être une multitude de tailles en fonction des options. et matériel sous-jacent.

Supposez que la page a la même signification dans le SGBD et le système d'exploitation, pourquoi spécifiez-nous le NSM et la PAX uniquement dans le SGBD? Ce format de page peut-il être portable au système d'exploitation?

Je n'ai pas lu le papier entier parce qu'il surcharge également le même terme. Notez que le matériel et le système d'exploitation sous-jacent peut changer quelle taille PAGE est mais ne change pas la signification générique. Son utilisation est assez surchargée et TBH vous pouvez faire ce que vous voulez dans votre propre système d'exploitation.

C'est un peu trop générique et élevé pour vraiment "répondre" en soi et les "réponses" vont être du matériel et du logiciel dépendant et spécifiques. Vous voudrez peut-être affiner un peu votre objectif et poser une question beaucoup plus pointue car c'est extrêmement large IMHO.

Éditer:

Vous mentionnez également des SSD, qui ont également une unité de PAGE qui dépend de (sarcasme) suffisamment choquante le contrôleur de stockage et le micrologiciel. Certains SSD utilisent des pages de 1 Mo ou plus, d'autres plus petits.

Normalement, lorsque nous parlons de "cache basse", il s'agit des données ou des caches de code qui sont généralement appelées lignes ou segments et non pages.

Peut-être une question supplémentaire. Où et comment puis-je trouver la documentation ou la mise en œuvre de la taille de la page ou du format de page à partir d'un serveur SQL? Tout SGM ou SQL Server vous rendra heureux.

SQL Server documente l'architecture ici . Ceci est corrigé et ne peut pas être changé.

La taille de la page Windows (à ne pas être confondue avec un fichier de pagination) peut être trouvée en appelant GetSysteminfo (API Windows) qui remplacera une structure A _ system_info qui a un membre appelé dwPageSize qui vous indiquera la taille actuelle de la page du système - cela devrait toujours être de 4K au moment de cette écriture.

5
Sean Gallardy