¿Qué base de datos se usa en la nube Parse?

Parse usa MongoDB + MongoRocks. Si desea migrar su base de datos, consulte los pasos detallados a continuación para hacerlo. Estoy de vuelta {4} aplicación | Fundador de Backend Generator para aplicaciones web, móviles y de IoT, y ofrecemos un asistente de migración que permite la migración de aplicaciones en menos de 5 minutos.

Parse anunció su cierre el 28 de enero. Con esto, también lanzaron una herramienta de migración de base de datos que le permite migrar datos desde su aplicación Parse a cualquier base de datos MongoDB. Dijeron que la API de Parse continuaría funcionando como de costumbre según la nueva base de datos. Se aseguró de que la migración pudiera ocurrir sin tiempo de inactividad.

¿Qué podría hacer migrando?

Al migrar su base de datos, podrá:

  • copia de seguridad de toda su base de datos periódicamente y bajo demanda;
  • restaurar copias de seguridad;
  • aumentar el rendimiento de las consultas (y, por lo tanto, su aplicación) al proporcionar mayores cantidades de potencia de procesamiento dedicada y memoria a su base de datos;
  • eliminar el riesgo de que otra aplicación afecte el rendimiento de las consultas de su aplicación;
  • obtener acceso sin procesar a los datos de su aplicación;
  • modificar, agregar o ajustar índices en sus consultas más populares o complejas;

¿Qué sucede si el usuario de Parse no migra la base de datos hasta el 28 de abril?

Según lo sugerido por el equipo de Parse, el 28 de abril es la fecha límite para migrar los datos de Parse. El equipo de Parse planea abordar los problemas informados por los clientes que inician el proceso de migración de la base de datos antes del 28 de abril. Después de eso, tienen la intención de centrarse en proporcionar soporte a los desarrolladores que deseen migrar sus aplicaciones a Parse Server.

Si no migra su base de datos antes del 28 de abril, el equipo de Parse supondrá que no considera que la migración de la aplicación sea de alta prioridad. El tráfico a su aplicación puede ser priorizado a medida que cambian su enfoque para servir aplicaciones de producción que se migran de acuerdo con su cronograma recomendado, según el cual el 28 de julio de 2016 es la fecha límite para terminar de configurar su Servidor Parse alojado y lanzar un nueva aplicación apuntando a ella.

¿Cómo funciona la migración de datos?

Actualmente, el cliente se conecta a la Base de datos alojada en Parse con Parse API. La migración necesariamente significa que tendrá que transferir toda su base de datos de Parse.com Hosted DB a otro Hosted MongoDB. Luego, Parse.com apuntará automáticamente su API de Parse a un nuevo MongoDB alojado. Permite al Cliente interactuar con el nuevo MongoDB alojado a través de Parse API.

Crear un importador personalizado que pueda importar datos de Parse a MongoDB local o usar programas como ngrok para exponer su puerto de mongo al exterior son algunos de los métodos que los desarrolladores han intentado importar. Pero estos métodos no son tan fáciles como parecen. En cambio, se recomienda utilizar el proceso de migración estándar con una instalación de mongo accesible por internet.

¿Cómo puedes migrar datos?

Para comenzar con la migración de Parse, deberá migrar los datos a un MongoDB alojado. Aquí, debe usar su base de datos autohospedada , uno de los proveedores de alojamiento de bases de datos o un proveedor de alojamiento completo de Parse (base de datos y servidor Parse) como back4app .

NOTA: Si es la primera vez que configura una instancia de MongoDB de producción, le recomendamos que utilice un proveedor de hosting Parse completo. Estas empresas proporcionan instancias de MongoDB totalmente administradas con mecanismos de seguridad, escala automática y totalmente integradas a una instancia de Parse Server. De hecho, puede usar back4app, que es el proveedor más cercano a Parse y se ha asegurado de que se implementen las mejores prácticas utilizadas por Parse como Mongo Rocks.

Debe ocuparse de las siguientes cosas mientras configura una instancia de MongoDB autohospedada en un proceso de migración de análisis.

  1. Dimensione su MongoDB al menos 10x. Debido a que los datos se comprimen en la base de datos alojada de Parse, debe dimensionar su Mongo al menos 10 veces la cantidad de almacenamiento de datos que está utilizando actualmente.
  2. Establezca failIndexKeyTooLong = false Porque MongoDB no permite claves de índice que tengan más de 1024 bytes. Si una operación de escritura intenta almacenar un valor que es mayor que 1024 bytes de tamaño en un campo que ha sido indexado, puede dar lugar a un error. Debido a la forma en que Parse indexa dinámicamente las colecciones en función del tráfico de consultas, Parse ha indexado algunos campos con valores superiores a 1024 bytes. Para evitar que ocurran errores de escritura aleatorios, configuramos “failIndexKeyTooLong = false” en las bases de datos de Parse y aceptamos la escritura incluso si el campo está indexado. Debido a esto, los datos con campos mayores de 1024 bytes aparecerán como “faltantes” según el índice seleccionado por el planificador de consultas de MongoDB. Los usuarios que migran sus datos solo necesitarán configurar el parámetro failIndexKeyTooLong si tienen campos indexados de más de 1024 bytes y tienen colecciones de más de 1 millón de documentos. Para las aplicaciones que son más pequeñas, Parse limpiará automáticamente los índices ofensivos durante la migración de análisis. Las aplicaciones más grandes deben seguir este procedimiento. Debe configurar failIndexKeyTooLong de nuevo a verdadero después de que se complete la migración de análisis.
  3. La latencia entre Parse y MongoDB autohospedado no debe ser superior a 20 ms. Nuestra recomendación será alojar su MongoDB en un servicio de alojamiento como back4app que tiene centros de datos basados ​​en la región geográfica del este de EE. UU.
  4. Si planea alojar su base de datos de producción en un área geográfica diferente, hágalo después de migrar primero sus datos al MongoDB autohospedado y fuera de Parse, en el este de EE. UU.
  5. Para minimizar la latencia, planifique alojar su servidor Parse en la misma región geográfica
  6. Una vez que MongoDB esté configurado, tenga en cuenta la URL de conexión de Mongo. Use la herramienta de migración de la base de datos para transferir sus datos (puede encontrarlos en el nuevo Panel de control de Parse en Configuración de la aplicación → General → Migrar a una base de datos externa). Asegúrese de que el usuario en la cadena de conexión tenga privilegios de administrador porque la herramienta de migración establecerá algunos parámetros automáticamente durante el proceso. Use el Asistente de migración de Parse en la aplicación back {4} para que las cosas funcionen fácilmente.
  7. Instantánea: la herramienta de migración de la base de datos primero tomará una instantánea de sus datos existentes y luego los transferirá a su base de datos Mongo.
  8. Sincronizar A continuación, se pausará para permitir la verificación manual, mientras continúa manteniendo las cosas sincronizadas con las escrituras que llegan desde su aplicación en vivo. Mientras se encuentre en esta etapa, su aplicación continuará leyendo y escribiendo desde su base de datos alojada de Parse.
  9. ¿Cómo probar el servicio de base de datos alojado?

Se recomienda no confirmar la migración de la base de datos antes de realizar la prueba. Los pasos a seguir son: Verifique si su aplicación funciona correctamente porque ahora está apuntando a un archivo migrado.
Luego verifique los datos utilizando el panel de control de Parse o datos sin procesar. Conéctese a su instancia de Mongo y explore las colecciones en la nueva base de datos creada. Verifique los recuentos de recopilación y realice algunas comprobaciones puntuales para asegurarse de que sus datos se migraron correctamente.

Puede detener la migración e intentar nuevamente tantas veces como sea necesario (hasta el momento en que haga clic en Finalizar). La herramienta mantendrá las cosas sincronizadas hasta 24 horas después de que comience la migración de análisis. Una vez que esté satisfecho con la migración de la base de datos, puede finalizar la transferencia en el cuadro de migración, y ahora su aplicación está utilizando la nueva instancia de MongoDB. Aquí, su aplicación está golpeando http://api.parse.com, pero está usando su instancia de MongoDB. Debe administrar su instancia de base de datos usted mismo, incluido el mantenimiento de índices y la ampliación de escala.

Puede optar por omitir la migración de sus datos y probar la funcionalidad de su aplicación alojada Parse Server con una base de datos vacía. También puede migrar sus datos a veces más tarde.

¿Debo alojar mi base de datos?

Una de las razones principales por las que muchos desarrolladores eligieron Parse fue porque no querían configurar y mantener un servidor. Teniendo esto en cuenta, y junto con el hecho de que puede ser necesario un trabajo personalizado para migrar por completo a Parse Server, otro SaaS sería una solución pensable. Incluso si lo ha hecho, ha alojado su base de datos en la actualidad, al migrarla a otro SaaS ahorraría mucho tiempo administrando sus servidores y configurando los entornos.

Las plataformas SaaS son perfectas para MVP, creación rápida de prototipos, proyectos personales y potenciar características más pequeñas de productos más grandes. Si su aplicación necesita ser construida a escala, es de misión crítica y continúa evolucionando con necesidades personalizadas, puede ser una mejor estrategia de negocios para construir su backend. De esta manera, mantiene un control completo y puede aprovecharlo como una ventaja competitiva.

Una vez dicho esto, también hay algunas excelentes plataformas de nivel empresarial disponibles que también hacen que esta tarea sea más fácil. Estos se pueden aprovechar no solo para la implementación en la nube sino también para brindarle opciones de portabilidad.

¿Se puede revertir la migración de DB?

MongoDB es un almacén de datos de estilo JSON. Los documentos almacenados en la base de datos pueden tener diferentes conjuntos de campos, con diferentes tipos para cada campo. La base de datos tiene alguna estructura. El espacio de nombres del sistema contiene listas explícitas de nuestras colecciones e índices. Las colecciones pueden crearse implícita o explícitamente mientras los índices se declaran explícitamente (excepto el índice _id predefinido).

Uno de los grandes beneficios de estos objetos dinámicos es que las migraciones de esquemas se vuelven muy fáciles. Con un RDBMS tradicional, las versiones de código pueden contener scripts de migración de datos. Además, cada versión debe tener un script de migración inversa en caso de que sea necesaria una reversión.

Además, si no está satisfecho con el proveedor de alojamiento de la base de datos, todo lo que necesita hacer es copiar sus datos y señalarlos a un nuevo URI usando el Panel de control de Parse.

¿En qué se diferencia el servicio de alojamiento de Parse de otros servicios de alojamiento de BaaS y plataforma?

Un backend como servicio combina un almacén de datos básico con herramientas expresivas de aprovisionamiento y autenticación de usuarios. Un BaaS que está optimizado para dispositivos móviles se llama Mobile BaaS o MBaaS. El mejor caso de uso para un BaaS es cuando los datos solo residen en el dispositivo o en el navegador y en el propio BaaS, sin nada en el medio. Un BaaS no tiene ninguna capacidad de procesamiento de back-end, por lo que no es una buena opción para procesar datos o procesar eventos como manejar un lote de reclamos diarios.

Una plataforma como servicio es algo en lo que implementaría toda la arquitectura de la aplicación. La pila completa, desde el código de la aplicación hasta la estructura de la base de datos y los trabajadores de back-end, se implementa en su pequeño segmento de la nube. Esa porción, en la capa de infraestructura (redes y niveles de SO), es administrada por el proveedor de PaaS. Entonces, para un desarrollador, PaaS es un contenedor que toma el código o la configuración como entrada y emite la URL de la aplicación.

Pero cuando haya usado Parse todos estos días, sabrá lo fácil que fue desarrollar y mantener aplicaciones. Probablemente sea un poco incómodo ir a cualquiera de los anteriores, ya que solo proporcionan una parte de lo que el servicio de alojamiento de Parse puede proporcionarle. Usar diferentes servicios para diferentes tareas no es lo que querría comprar cuando todos están disponibles en un solo lugar.

¡Sí! back4app es un servicio de alojamiento de Parse que le proporciona mucho más que un simple servicio de alojamiento de bases de datos o un servicio de alojamiento de plataformas. Si tiene su aplicación o API desarrollada con Parse, puede migrar su aplicación a la aplicación Back {4} y olvidarse de que Parse se cierre. De hecho, con la aplicación Back {4}, has conseguido tu mejor aplicación. Junto con Cloud Code y Parse JavaScript SDK, esto le permite crear aplicaciones web ricas sin ningún servidor. Le permite desarrollar un sitio web sin preocuparse por los servidores o la escala, ya sea que esté diseñando una página de destino o creando una aplicación web enriquecida.

Si ya tiene una aplicación ejecutándose en Parse, ¿cómo migraría los datos?

Si mueve sus datos de Parse a otra ubicación, es decir, Mongo u otro proveedor de PaaS, aún necesitará actualizar el código del cliente si desea cambiar la API. Si tiene una aplicación móvil y sus usuarios finales no se molestan en actualizar su aplicación, ¿cómo se conectan a la nueva fuente de datos (DB)?

Tendrá que crear esta funcionalidad de migración en su cliente desde la primera versión pública para asegurarse de capturar a todos los usuarios para poder activar el interruptor. Eso es mucho trabajo, y tienes que escribir tu contenedor para las llamadas Parse API o REST.

Si su aplicación está sirviendo HTML desde el servidor, es decir, una aplicación PhoneGap, con representación de página del lado del servidor, entonces se desacopla del ejecutable de la aplicación en el teléfono / tableta de los usuarios finales. MeteorJS tiene un impulso de código activo para resolver esto.

Puede enviar una notificación a todos los clientes antiguos que necesiten actualizar su aplicación móvil, diciéndoles que actualicen y cerrando el backend de Parse, pero esa no es una gran experiencia de usuario. Si no tienen las notificaciones activadas, puede codificar una alerta o mensaje para que aparezca en función de que complete un campo en la base de datos de análisis, realice una encuesta para verificarlo cada pocos minutos. Pero tratar de migrar datos sin tener un plan establecido desde el principio es bastante horrible.

Espero que estas respuestas a las preguntas que generalmente atormentan a los desarrolladores ayuden a comprender y analizar la necesidad de migrar datos de Parse y hacer un arreglo apropiado para alojar la base de datos. Puede consultar la forma más fácil de migrar su base de datos utilizando el Asistente de migración de Parse en back4app . Le permite migrar sus datos de Parse rápidamente, y dado que back4app se basa en Parse Open Source, es bastante más fácil migrar su aplicación ya que necesitaría cambios mínimos de código. Además, back4app proporciona casi todas las características que estaban presentes en Parse y le da la sensación de que “Parse todavía está vivo aquí”.

Utilizan MongoDB + RocksDB (y anteriormente solo MongoDB), aunque no sé si es exclusivo. Actualmente están usando MongoDB + RocksDB:

  • MongoDB + RocksDB en Parse
  • Parse ahora ejecuta MongoDB en RocksDB

Conocí a una de las ingenieras de operaciones de Parse (aunque recientemente dejó la compañía) Charity Majors a través de la comunidad MongoDB durante algunos años.