Apple construyó iCloud para almacenar miles de millones de bases de datos

El uso de FoundationDB por parte de Apple para impulsar iCloud a la escala de miles de millones de bases de datos lógicas provoca comparaciones entre bases de datos y sistemas de archivos, y resalta cómo las arquitecturas de almacenamiento modernas difuminan esa frontera. Los comentaristas contrastan este backend elegante con el comportamiento a menudo poco fiable de iCloud para el usuario, citando problemas de años sincronizando fotos, archivos y mensajes, y la ausencia de copias de seguridad de Time Machine en la nube. El hilo también aborda quién más ejecuta FoundationDB en producción, cómo se gestionan las migraciones de esquemas a gran escala y por qué herramientas alternativas como Obsidian o CouchDB tienen éxito o dificultades con la sincronización y la coherencia.

Fiabilidad de iCloud y experiencia de usuario

  • Varios comentarios informan de una mala fiabilidad: fotos y archivos atascados sincronizándose durante días, recuentos de fotos inconsistentes entre dispositivos y un progreso/estado opaco.
  • Algunos usuarios solucionaron problemas borrando los datos locales de iCloud o usando las herramientas de resolución de problemas de Apple, pero otros dicen que eso no ayudó o que requirió horas de espera.
  • iMessage/“Messages in iCloud” se describe como inestable: el estado de leído/no leído y de eliminación a menudo no se sincroniza de forma consistente entre macOS e iOS.
  • A los usuarios les resulta difícil controlar qué elementos se almacenan localmente frente a cuáles se descargan, especialmente en iPhone, lo que provoca descargas repetidas y un comportamiento offline inutilizable.
  • Algunos han abandonado iCloud por completo para la sincronización de archivos, frustrados porque el comportamiento de “Optimizar almacenamiento” se impone incluso a herramientas de sincronización de terceros a través de la API FileProvider de Apple.

Debates sobre base de datos frente a sistema de archivos

  • Varios comentarios sostienen que, a un nivel de abstracción alto, los sistemas de archivos y las bases de datos son similares: ambos asignan claves/rutas a blobs/registros y pueden construirse uno sobre otro.
  • Otros destacan diferencias prácticas importantes: capacidad de consulta, transacciones/semántica ACID, sensibilidad al rendimiento y “afinidad mecánica” con los discos.
  • Se citan sistemas históricos y experimentales: WinFS, ReiserFS, BeOS’s BeFS, Oracle DBFS, bcachefs, bases de datos jerárquicas de la era de los mainframes y proyectos que usan FUSE + SQL.
  • El consenso se inclina hacia “un sistema de archivos es una forma especializada de base de datos”, pero con APIs, restricciones de rendimiento y expectativas de ecosistema muy diferentes.

FoundationDB y la arquitectura de Apple

  • El uso de FoundationDB por parte de Apple junto con capas de nivel superior (por ejemplo, Record Layer) es elogiado como técnicamente elegante para soportar miles de millones de bases de datos lógicas.
  • Algunos profesionales informan de experiencias excelentes construyendo sistemas transaccionales y basados en esquemas sobre FoundationDB, y señalan que la incorporación operativa y el escalado no son triviales.
  • El hilo enumera varios adoptantes externos (por ejemplo, analítica, monitorización, proveedores cloud, servidores de correo, almacenes KV), además de defensores del autoalojamiento que prefieren clústeres bare-metal.

Copias de seguridad y Time Machine en iCloud

  • Varios comentaristas desearían que Time Machine pudiera hacer copias de seguridad en iCloud, en paralelo a las copias de seguridad de iOS.
  • La ausencia se ve como desconcertante dado la estrategia de servicios de Apple; posibles razones mencionadas: coste de almacenamiento, redundancia con los datos existentes en iCloud, ancho de banda de subida doméstico y complejidad de la API en macOS.
  • Algunos usuarios lo solucionan con almacenamiento en la nube de terceros y herramientas como gestores de dotfiles; otros prefieren instantáneas reales a nivel de sistema.

Motores de almacenamiento y rendimiento

  • Se discute la pila de almacenamiento subyacente de FoundationDB: antes árboles B de SQLite, después RocksDB y, posteriormente, el motor Redwood propio de Apple con optimizaciones específicas de FDB como la compresión por prefijos.
  • Se menciona el motor experimental HCTree de SQLite como una posible ganancia futura de rendimiento si madura.

Notas y herramientas de sincronización

  • Algunos elogian Apple Notes vía iCloud por su gestión de conflictos; otros informan de pérdidas graves de datos y lo evitan.
  • Obsidian recibe fuertes elogios por su flujo de trabajo y su ecosistema de plugins; la sincronización de Obsidian basada en iCloud se describe como poco fiable por algunos, mientras que el propio servicio de sincronización de Obsidian se informa como estable.