Resumen del informe "Cómo convertirse en un excelente especialista en bases de datos" (HL2018, Data Egret, Ilya Kosmodemyansky)

Las primeras notas de clase con HighLoad fueron recibidas positivamente, así que continúo.

Eligió material interesante como segunda conferencia, que encontró una respuesta tanto en la sinopsis como en la sala. En mi opinión, este informe puede ser de interés para todos, especialmente para los especialistas novatos.

El informe abordó los siguientes problemas:

  • ¿En qué queremos ser exactamente?
  • ¿Lo necesitamos?
  • Habilidades teóricas
  • Habilidades prácticas (técnicas)
  • Habilidades prácticas (no técnicas)

imagen

Una base de datos es algo simple y las personas son complicadas, por lo que los consejos pueden no ser adecuados para todos.

No siguió todos los consejos.

Mapa de habilidades hoy (mañana puede cambiar):

imagen

Cualquier función es útil para tener habilidades de áreas vecinas.

Las nubes se han agregado recientemente. Añaden un área de responsabilidad para el presupuesto.

¿Lo necesitamos?


  • Definitivamente no será aburrido. DB es interesante.
  • Mientras haya datos, habrá bases. Pueden volverse diferentes, pero ciertamente lo serán.
  • DBA: como un plomero, pero cálido y detrás del teclado.

Es casi imposible obtener un buen perfil educativo. No hay tal educación. Pero hay universidades que enseñan esto bien. Pero al salir de la universidad no te convertirás en un especialista.

Necesitas poder aprender rápidamente diferentes profesiones.

Tareas a resolver rápidamente (examen en un mundo ideal en dba):

  • Fijar la base por el momento (visto por primera vez). El problema no está claro, pero todo "se ralentiza"
  • Examinadores 10, y preferiblemente 20-30
  • 3 pregunte con holgura "cómo"
  • Tres mas por telefono
  • 1 requiere reservar tiempo
  • 3 introduce scrum ahora mismo :) (un momento de humor)

Conocimientos básicos requeridos (teoría):


  • Álgebra Relacional (mínimo, no más de 40 horas para estudiar)
  • B-tree en diferentes tipos y formas (se necesita un conocimiento profundo solo si la tarea es escribir su propia base de datos)

Un buen libro introductorio: Novikov, Dombrowski, configurando aplicaciones de bases de datos .

El resultado final : Sub es un marco que le permite trabajar con datos:
  • Universalmente
  • Confiablemente
  • Productivamente

(!) Cómo funciona: necesita saberlo a fondo.

Habilidades técnicas prácticas (!) (Importante y necesario)


  • Control de concurrencia
    • Bloqueo de 2 fases
    • Detección de punto muerto
    • Control de concurrencia de múltiples versiones

  • Recuperación
    • Escribir registro a continuación
    • Rehacer
    • Deshacer

  • Transacciones distribuidas
    • Compromiso de 2 fases
    • Recuperación distribuida


Lee la wikipedia mínima. Mejor libro: G. Weikum, G. Vossen, Sistemas de información transnacional: teoría, algoritmos y la práctica del control y la recuperación de la concurrencia.
Si es difícil, por primera vez no puedes leer sobre objetos y estructuras de búsqueda. Luego vuelve a leer.

Trampas


  • No confunda 2pl y 2pc (bloqueo de dos fases y confirmación de dos fases).
  • No contrastes 2pl y mvcc.
  • Estos son algoritmos pesimistas de eliminación de transacciones: son los más comunes, pero el mundo no se limita a ellos.

Destetados para leer libros y leer documentación. Los libros de buenas prácticas son pocos, raros y cortos.

¿Cómo leer la documentación?


Si lee la documentación de cada parámetro de configuración al menos una vez (por ejemplo, postgresql.conf, etc.), se volverá mucho más genial. Esto se aplica a cualquier base de datos.
La recomendación es conseguir un servidor de prueba y experimentar cómo lo afectan los diferentes parámetros.

Como resolver problemas


  • Mantén la calma (¡ mantén la calma! )
  • Buscando una razón: ¡no ajuste la consulta / conozca sus datos! - Pensamos en cómo se organiza la solicitud, pero no intentamos resolverla "frente"
  • Aprenda ( de antemano ) herramientas de diagnóstico (arriba, iostat, perf, etc.)
  • Escribir post mortem!

Habilidades prácticas no técnicas:


  • Aprende a hablar, escribir y leer ruso e inglés
  • Haga presentaciones, enseñe a colegas, hable en reuniones, ¡vaya a Highload!
  • Aprenda a comunicarse con los desarrolladores (y no solo con ellos)

Aprende a hacer todo esto al mismo tiempo.

Source: https://habr.com/ru/post/es429508/


All Articles