¿Cuánto tiempo llevaría construir una tecnología de base de datos escalable? ¿Cuántas personas y qué habilidades deberían tener?

Puedo contarte sobre mi caso. Actualmente estoy trabajando en MailRu como Director de Ingeniería. MailRu es el quinto sistema de correo electrónico más grande del mundo.

Así que ejecutamos nuestra base de datos patentada propia para el almacenamiento de correos electrónicos. Está dividido en 4000 servidores y su tamaño total es de 60 PB.

La última versión de esta base de datos fue desarrollada durante dos años por alrededor de 10 personas. Pero no todos trabajaban el 100% del tiempo para este proyecto. En años humanos era de unos 6-8.

Acerca del equipo: son ingenieros C / C ++ altamente profesionales, algunos de ellos con experiencia en el trabajo para proyectos de bases de datos de código abierto, luego un ingeniero de control de calidad que de hecho es un ingeniero de software C / Perl de alto nivel. Además, había una serie de los mejores ingenieros de confiabilidad de sistemas / sitios. Quien implementó esta base de datos en nuestra infraestructura, escribió / cambió el sistema de monitoreo, realizó algunas secuencias de comandos y otro entorno infra.

Todas las personas tenían una gran experiencia con el desarrollo y la operación de sistemas a gran escala. Esa fue la habilidad crucial. Porque cuanto más escalas, más nuevos problemas únicos enfrentaras.

El hecho interesante es que lleva los mismos dos años implementar esta base de datos en nuestro sistema actual. Se realizó con cuidado, con mucha preparación y pruebas, ya que debe hacer todo a la perfección con cero tiempo de inactividad.