
CS101 enseña Big O notaciónpero en producción, reglas de memoria. Papel clásico de Ulrich Drepper de 2007 explica por qué codificar eso aspecto lineal puede comportarse superlinealmente Una vez que golpeas cachés o deambulas por los límites de NUMA. Las estructuras de datos y los patrones de acceso que maximizan la localidad (piense en los árboles B con nodos del tamaño de una página, la estructura de las matrices (SOA) versus los diseños de estructuras (AO), buffers de anillos) no son detalles académicos, es la diferencia entre el trabajo de las CPU y la espera de las CPU. Aquí está la versión ejecutiva: las estructuras de datos amigables con el caché hacen que el cómputo ya esté pagando en el rendimiento que realmente puede usar.
Los motores de almacenamiento son estructuras de datos con presupuestos
Cada motor de almacenamiento de bases de datos es una estructura de datos con un balance general de ganancias y pérdidas. Los motores de almacenamiento como los árboles B+, que están optimizados para lecturas rápidas y basadas en discos, se intercambian costos de escritura más altos (amplificación de escritura) para una excelente localidad de lectura; Los árboles de fusión estructurados log (árboles LSM) voltean eso, optimizando las altas tasas de escritura a costa de compactación y amplificación de lectura. Ninguno de los dos es mejor. Cada uno es una compensación algorítmica consciente con consecuencias operativas directas (IOPS, desgaste de SSD, quema de CPU durante la compactación). Si sus cargas de trabajo son escrituras pesadas con lecturas por lotes, LSM tiene sentido. Si su carga de trabajo es sensible a la latencia de lectura con exploraciones de rango, los árboles B+ a menudo ganan. Su elección es un problema de selección de estructura de datos mapeado en facturas de nubes y SLOS. Trátelo de esa manera.
No convencido? Hay un papel interesante Por Frank McSherry, Michael Isard y Derek Murray que hacen una pregunta contundente: ¿cuántas máquinas necesitas antes de tu sistema paralelo de cadera y fresca supera un hilo único competente? Llaman a la métrica «costo» (configuración que supera a un solo hilo), y la respuesta para muchos sistemas publicados es «mucho», a veces cientos de núcleos. Si un algoritmo mejor o estructura de datos borra su necesidad de un clúster, eso no es simplemente una flexión de ingeniería; Son millones de dólares ahorrados y se reduce una superficie de ataque.




