Siempre es importante comprender las diferentes opciones para resolver los desafíos comerciales. Entonces, veamos cómo se ve este escenario desde la perspectiva de un arquitecto, consultor, desarrollador o administrador de Salesforce.
Los negocios de hoy evolucionan a un ritmo acelerado; y, las organizaciones demandan nuevas características y funcionalidades para cumplir con los requisitos de cumplimiento, normativos y otros requisitos comerciales.
Supongamos que está trabajando como arquitecto de Salesforce en Gurukul on Cloud (GoC). En GoC, durante tiempos normales, las transacciones de pedidos alcanzan los 2 millones de registros por semana; Sin embargo, durante las temporadas altas, el rango oscila entre 10 y 15 millones de registros por semana. Entonces, durante una de las reuniones, el Oficial de Cumplimiento de GoC compartió una necesidad comercial: retener los datos de Oportunidad , Pedido e Historial de campo de transacción de pedido durante al menos 7 años para cumplir con la nueva política de retención de datos de la organización.
Tomemos otro ejemplo, supongamos que está trabajando como Arquitecto de Salesforce en GoC. Y que eres parte del equipo de Gobernanza de datos de GoC. Como resultado, debe abordar el siguiente requisito: una vez que se cierra un pedido, archive los datos y manténgalos disponibles para los usuarios de Salesforce.
Haga una pausa y piense: ¿cómo resolverá los desafíos anteriores? De las siguientes, ¿qué opción(es) seleccionará como parte de su solución?:
- Almacene datos en Heroku Postgres Database y use Heroku Connect para exponerlos a Salesforce a través de objetos externos.
- Use la nube, la base de datos local heredada, el almacenamiento de datos de terceros ( Amazon Redshift , Snowflake , IBM Db2 , Google BigQuery y otros) para almacenar los datos y luego use una interfaz para exponer los datos a Salesforce.
- Utilice la aplicación AppExchange ( Odaseva , OwnBackup , Spanning Backup y otras) para archivar datos y utilizar su interfaz para mantener los datos disponibles en Salesforce.
- Use un enfoque simple seleccionando BigObject para almacenar datos y use Lightning Web Component, o una aplicación AppExchange, para ponerlos a disposición de los usuarios de Salesforce.
Al elegir una (o varias) soluciones, asegúrese de tener en cuenta lo siguiente y asegúrese de que su solución esté preparada para el futuro:
- Volumen : tenga en cuenta el volumen de datos haciendo una pregunta simple: ¿cómo será el volumen de datos: unos pocos millones, un billón o unos cientos de miles de millones de filas?
- Velocidad : al elegir una solución, piense en el rendimiento, la capacidad de consulta y cómo van a interactuar los usuarios.
- Variedad : considere las variedades de datos que puede almacenar en una solución dada, ya que, como todos sabemos, Salesforce genera diferentes tipos de datos cuando se crea un registro. Por ejemplo, cuando se crea una cuenta, Salesforce puede crear registros en AccountShare, AccountTeamMember, etc.
- Valor : comprenda el valor de su inversión midiendo el efecto que tendrá una solución dada en su negocio (es decir, aumentando la productividad, brindando una ventaja competitiva); esto es vital para determinar el ROI de la solución.
En este artículo, voy a discutir Big Objects , sus estrategias de implementación y los pasos de implementación, incluidos algunos consejos y trucos para animar las cosas.
Big Objects se puede utilizar para almacenar y administrar enormes cantidades (miles de millones de filas) de datos en la plataforma Salesforce. Puede utilizar un Big Object para archivar datos de Salesforce o datos de sistemas externos.
Big Objects se basa en un conjunto de tecnologías de big data probadas (Hadoop, Apache Phoenix, etc.) con Apache HBase en su núcleo.
Hay dos tipos de objetos grandes:
- Big Objects estándar: Salesforce crea Big Objects estándar y los incluye en los productos de Salesforce. Por ejemplo, cuando compra el complemento Field Audit Trail , Salesforce crea/habilita automáticamente FieldHistoryArchive Big Objects.
- Big Objects personalizados: creamos Big Objects personalizados para almacenar información exclusiva de nuestra organización o requisitos comerciales. El nombre de la API de Custom Big Object termina en __b . Utilice la API de metadatos, o la configuración, para crear objetos grandes personalizados.
Casos de uso para objetos grandes
Entonces, ¿cómo utiliza una empresa un Big Object? Estos son algunos de los casos de uso de Big Objects más populares:
- Vista de 360° del cliente : muchas empresas utilizan Big Objects para crear una aplicación de tablero que proporciona una vista de 360° de sus clientes. Estos tableros extraen datos de Big Objects, los analizan y los presentan al servicio de atención al cliente, o al personal de ventas y/o marketing, de una manera que les ayude a hacer mejor su trabajo.
- Archivo de datos : una de las formas más comunes, y potencialmente más rentables, para que las empresas comiencen a utilizar Big Objects es eliminar algunos de los datos históricos de Salesforce o de fuentes de datos externas. Por ejemplo, puede ser necesario mantener datos históricos para cumplir con los requisitos de cumplimiento.
- Auditoría y seguimiento : muchas empresas utilizan Big Objects para realizar un seguimiento y mantener una vista a largo plazo de los datos de Salesforce con fines de auditoría y cumplimiento.
Entonces, ¿cuál es la diferencia entre un objeto grande y un objeto de Salesforce?
Big Objects y sObjects (objetos estándar y personalizados) tienen propiedades diferentes. Hagamos una pausa aquí para identificar diferentes propiedades:
Objetos de Salesforce (estándar o personalizado) | Objetos grandes |
Úselo para almacenar datos transaccionales | Úselo para almacenar datos no transaccionales |
Base de datos relacional | Base de datos distribuida escalable horizontalmente |
Utilice este tipo de objetos para almacenar millones de registros | Utilice este tipo de objetos para almacenar de millones a miles de millones de registros |
Compatibilidad con permisos de objetos y campos, incluidas capacidades para compartir | Solo admite objetos y permisos de campo. |
Se puede acceder a los objetos estándar o personalizados en la aplicación móvil Salesforce | No se puede acceder a Big Objects en la aplicación móvil Salesforce |
Compatibilidad con la interfaz de usuario estándar (pestañas, páginas de detalles, vistas de lista) | La interfaz de usuario estándar no está disponible (pestañas, páginas de detalles, vistas de lista). Utilice el componente web Lightning o la aplicación AppExchange para llevar los datos a la interfaz de usuario. |
Compatibilidad con el Generador de informes | No hay soporte para Report Builder. Es compatible con Einstein Analytics |
Cuando se crea un registro, Salesforce genera automáticamente una identificación de registro | Cuando se crea un registro de Big Object, Salesforce no genera una identificación de registro |
Caso de uso empresarial
Tamara McCleary trabaja como arquitecta de soluciones en GoC. Después de conocer Big Objects, quiere crear un Big Object con los siguientes campos para almacenar registros del historial de campos de oportunidad.
Nombre del campo | Tipo de datos | Requerido |
Creado por ID | Texto(18) | sí |
Fecha de creación | Fecha y hora | sí |
Tipo de datos | Texto(255) | |
Campo | Texto(255) | |
Nuevo valor | Texto(255) | |
Valor antiguo | Texto(255) | |
Oportunidad | Búsqueda (oportunidad) | sí |
Crear un objeto grande personalizado
Utilice la API de metadatos o la configuración de Salesforce para crear objetos grandes. Realice los siguientes pasos para crear un objeto grande a través de la configuración:
- Vaya a Configuración | ADMINISTRACIÓN | Datos | Objetos grandes .
- Haga clic en el botón Nuevo para crear un objeto grande para almacenar registros del historial de campos de oportunidad.
- Una vez hecho esto, haga clic en el botón Guardar .
- De forma predeterminada, un Big Object se crea con En desarrollo – Estado de implementación. Para implementar un Big Object, tenemos que crear campos personalizados y una tabla de índice.
Crear campos personalizados
El siguiente paso es crear campos personalizados como se menciona en el requisito comercial. Al final, se verá como la siguiente captura de pantalla:
Crear índice para objetos grandes personalizados
Utilice el índice personalizado para definir la clave primaria compuesta (índice) para un Big Object personalizado. Al definir un índice personalizado, recuerde lo siguiente:
- Diseñe su clave principal en función de cómo desea consultarla.
- La longitud total de todos los campos de texto, en un índice, no puede exceder los 100 caracteres.
- Se pueden indexar un total de 5 campos.
- Tienes que definir una orden de índice.
- El campo debe ser obligatorio para la indexación.
- Una vez que crea un índice, no se puede cambiar.
- Solo se admite un conjunto de índices.
- No puede eliminar un índice personalizado.
Tamara ha decidido habilitar la indexación para los campos CreatedById, CreatedDate y Opportunity.
Realice los siguientes pasos para crear un índice personalizado:
- Navegue a la sección Índice en OpportunityFieldHistory Big Object.
- Haga clic en Nuevo y habilite Índice para los siguientes campos, como se muestra a continuación:
- Una vez hecho esto, haga clic en el botón Guardar .
Implementar un objeto grande personalizado
El paso final es implementar el objeto grande OpportunityFieldHistory . Para ello, realice los siguientes pasos:
- Editar objeto grande OpportunityFieldHistory
- Seleccione Estado de implementación a Implementado , como se muestra a continuación
- Una vez hecho esto, haga clic en el botón Guardar .
Rellene un objeto grande personalizado con flujo
Puede usar Cargador de datos, Apex, API o Flujo para insertar registros en Big Objects. Tamara decidió que usará el siguiente flujo desencadenado por registro para insertar un registro en OpportunityFieldHistory Big Object.
Lleve registros de objetos grandes personalizados a la interfaz de usuario de Salesforce
Interfaz de usuario estándar como: pestañas, páginas de detalles, vistas de lista, ni disponible para Big Objects. Allí, debe usar el componente web Lightning o la aplicación AppExchange para llevar los datos de Big Objects a la interfaz de usuario de Salesforce.
Tamara está utilizando la aplicación AppExchange de la lista relacionada de Big Objects para llevar los datos del Big Object personalizado OpportunityFieldHistory a los registros de oportunidad relacionados.
Mover objetos grandes personalizados de una organización a otra
Si desea mover Big Objects personalizados de una organización a otra, utilice la siguiente herramienta.
- Conjuntos de cambios
- Paquete
- código de estudio visual
Seleccione Objeto personalizado en Tipo de componente para buscar objetos grandes personalizados, como se muestra a continuación:
Cosas para recordar al usar objetos grandes
- La cantidad máxima de Big Objects por organización no puede exceder 100.
- A menos que tenga un índice, no se puede implementar un objeto grande.
- Una vez creado, la longitud de un campo no se puede cambiar.
- El campo no se puede eliminar una vez que los crea.
- El tipo de datos del campo no se puede cambiar una vez creado.
- Los objetos grandes eliminados se almacenan durante 15 días.
- Hay algunas formas de llenar un objeto grande: (1) puede usar un archivo .csv con Data Loader; hazlo a través de API; o hacerlo completamente a través de Apex.
- No puede usar objetos externos de Salesforce Connect para acceder a Big Objects en otra organización.
- Big Objects no admite el cifrado. Si archiva datos cifrados de un objeto estándar o personalizado, se almacenan como texto sin cifrar en el Big Object.
- Big Objects no admite transacciones. Si desea leer (o escribir) en un objeto grande mediante un disparador, un proceso o un flujo en un sObject, use Apex asíncrono. Apex asíncrono tiene características como la interfaz Queueable que aísla las operaciones DML en diferentes tipos de sObject para evitar el error DML mixto.
- Implemente Big Objects de una organización a otra a través de los siguientes métodos:
- Conjunto de cambios
- Paquete
- código de estudio visual
- Utilice la API de Apex o SOAP para eliminar datos en un Big Object personalizado.
- Big Object SOQL no admite los operadores !=, LIKE, NOT IN, EXCLUDES e INCLUDES.
- Las funciones agregadas no son compatibles.
Conclusión
Según el documento de precios del complemento de Salesforce , a partir de ahora, Big Objects cuesta $ 1000 / mes por 50 millones de registros. Big Objects puede desempeñar un papel clave en las decisiones de archivo de datos, ya que le permite mantener todo en la plataforma de Salesforce.
¡Después de haber leído el blog, siéntase libre de alardear de su experiencia recientemente desarrollada en Big Object! Y, ya que estás en ello, ¡Ve a lo grande!
Evaluación formativa:
¡Quiero saber de ti!
¿Cuáles son sus salsas secretas cuando se trata de Big Objects? Siéntase libre de compartir en los comentarios a continuación.
Correctora : - Munira Majmundar
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/02/08/ever-wonder-what-are-big-objects-what-are-its-use-cases-how-are-they-implemented-of-course-you-do/