Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[DOC] Container Architecture & Chunking Sizing Guide (Decision Matrix)

Ouverte
#722 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
70/100
Type d'issue
Documentation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
markdown, python
Domaine
documentation

Piste de recherche

The guide will be a new Markdown file at doc/getting_started/choosing_containers_and_chunking.md. Start by reading the existing doc/getting_started/index.rst to understand the documentation structure and the linked issue #651 for terminology. Review the project's README and the main documentation to understand the different container types (NDArray, CTable, etc.) and their use cases. The guide should include a decision matrix table and chunking guidelines. Done looks like a complete Markdown file that is linked from the index.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

documentation sustain-2026

New contributors and users face two key architectural questions when getting started:

  1. Which container should I choose? (NDArray vs CTable vs SChunk vs TreeStore vs DictStore vs BatchArray).
  2. How do I choose chunk and block shapes? (Balancing compression ratio, CPU cache locality, slicing granularity, and storage overhead).

While issue #651 addresses a terminology glossary, there is no practical decision matrix or chunking rules-of-thumb guide in the documentation.

Suggested Work

Create a Markdown guide at doc/getting_started/choosing_containers_and_chunking.md (and link it from doc/getting_started/index.rst).

The guide should feature:

  1. Container Decision Matrix: A structured table comparing:
    • Data Geometry (multidimensional, tabular/relational, key-value, hierarchical tree)
    • Read/write mutability and append performance
    • Query capabilities (expression evaluation, SQL/where filtering, coordinate slicing)
    • On-disk layout (.b2nd, .b2frame, .b2z, .b2d)
  2. Chunking vs. Blocking Rules of Thumb:
    • Clear explanation of the two-level chunking hierarchy: chunks represent disk/network transfer units (typically 1 MB – 64 MB), whereas blocks represent CPU cache units (typically 64 KB – 1 MB to fit L2/L3 caches).
    • Practical guidelines for 1D, 2D, and 3D data geometries.
    • Trade-offs: large chunks (better compression) vs. small chunks (faster random slicing).
Langage dominant
Python
Étoiles
211
Forks
63
Merge moyen
2 j 1 h
PR mergées (30 j)
9

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Blosc/python-blosc2

Toutes les issues de Blosc/python-blosc2

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.