Blue Canvas
Metadatos de SalesforceDatos de CPQPerfiles y permisos
Planes
Control de versionesRespaldo de metadatosComparación e implementación de sandboxesResolución de conflictos de fusiónResolución de dependencias de camposIntegraciones
Para administradores de SalesforcePara desarrolladores de ApexPara seguridad y cumplimientoPara grandes empresas
Operaciones académicasAgenda una demoBlogDocumentaciónHistorias de clientesDirectorio de agenciasHerramientasCertificación SOC 2
EN|ESContáctanosAccederComenzar
Mejores prácticas

Optimizaciones para organizaciones de Salesforce con muchos datos (parte 1)

A medida que crece el volumen de datos de tu organización de Salesforce, también pueden aumentar los problemas de rendimiento. Esta es la parte 1 de una serie de 4 partes sobre cómo optimizar el rendimiento de tu organización de Salesforce.

Randalyn Hill-CofferPor Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas·4 de diciembre de 2024·7 min de lectura
En este artículo
  • Arquitectura de la plataforma
  • Desequilibrio de datos
  • Rendimiento de búsqueda en Salesforce
  • Optimizador de consultas de la plataforma Lightning


Si alcanzas constantemente tus límites de almacenamiento y tienes millones de filas de datos en tu organización de Salesforce, puedes beneficiarte de algunas optimizaciones que mejorarán el rendimiento de tu organización y harán que tus implementaciones sean más fluidas. Muchos de los consejos de la siguiente serie de publicaciones son conocimientos que se esperan de cualquier profesional de Salesforce que busque una certificación de diseñador de arquitectura y gestión de datos o cualquier persona que trabaje con grandes volúmenes de datos.

Arquitectura de la plataforma

Antes de comenzar, repasemos cómo funciona la plataforma Salesforce a grandes rasgos. Salesforce tiene un documento técnico sobre su arquitectura, y creo que es importante saber cómo se relaciona todo antes de comenzar la optimización. Combinar esos conocimientos fundamentales con técnicas aplicadas a nivel de metadatos y configuración puede resolver problemas de rendimiento en organizaciones grandes de Salesforce.

Salesforce es una plataforma multiinquilino que utiliza tecnologías internas diferentes a las de una base de datos relacional tradicional. Como plataforma multiinquilino basada en metadatos y con capacidades polimórficas, utiliza un motor de ejecución que presenta los datos de las aplicaciones a partir de los propios metadatos. Salesforce contiene tres capas diferentes: el motor de base de datos (núcleo), los datos de los inquilinos y los metadatos de la aplicación. Salesforce aprovecha las tres para estructurar la organización específica de cada cliente.

Salesforce utiliza una Diccionario Universal de Datos (UDD) para almacenar objetos, campos, desencadenadores, páginas Visualforce y componentes Lightning, que se registran exclusivamente como metadatos. Así es como Salesforce puede manejar 2 mil millones de transacciones al día y, al mismo tiempo, ofrecer un sistema de gestión de bases de datos relacionales con optimizaciones de consultas adaptadas a entornos multiinquilino. (Salesforce ha implementado muchas optimizaciones: por ejemplo, el código Apex se compila y almacena como metadatos, se interpreta durante la ejecución y se guarda en caché para facilitar la escalabilidad).

Cuando creas esquemas de aplicaciones, el UDD registra los metadatos de tus objetos, sus campos, sus relaciones y otros atributos. Mientras tanto, unas pocas tablas grandes de base de datos almacenan los datos estructurados y no estructurados de todas las tablas virtuales. Un conjunto de índices multiinquilino relacionados, implementados como tablas dinámicas simples con datos desnormalizados, hace que el conjunto de datos combinado sea extremadamente funcional.

Salesforce también utiliza múltiples optimizaciones de motores de búsqueda para gestionar el uso y distribuir la carga de la plataforma. Para mejorar los tiempos de respuesta de las aplicaciones, estos motores admiten la indexación y las búsquedas de texto completo. A medida que las aplicaciones evolucionan, los servicios en segundo plano de estos motores de búsqueda crean índices específicos para cada usuario e inquilino.

Los sistemas de bases de datos tradicionales dependen de índices nativos para obtener información específica, pero Salesforce utiliza técnicas como una sola columna flexible para almacenar datos de muchos campos con distintos tipos de datos estructurados. Para garantizar que tu aplicación de Salesforce escale con buen rendimiento, aquí tienes algunos consejos para reducir drásticamente los tiempos de operación:

  • Utiliza la operación de base de datos más eficiente para realizar cada tarea; por ejemplo, en términos de velocidad de comparación, usar Insert es mejor que Update, y Update es mejor que Upsert.
  • Utiliza las técnicas de optimización que ofrece Salesforce, como índices personalizados, tablas reducidas, etc.
  • Utiliza funciones de administración como Aplazar mantenimiento del acceso compartido o Cálculo paralelo del acceso compartido en el escenario adecuado.
  • Aplica las mejores prácticas para adaptarte a los cambios en los metadatos, el esquema y la carga de datos.

Salesforce también ofrece Big Objects como una forma de almacenar y administrar grandes volúmenes de datos en la plataforma. Puedes archivar datos de otros objetos o importar conjuntos de datos masivos desde otros sistemas. Vamos a hablar sobre cómo optimizar objetos estándar y personalizados, pero puedes aprovechar Big Objects mediante BULK API o Apex por lotes.

imagen de silos azules

Cuando las organizaciones crean objetos personalizados, la plataforma registra metadatos sobre los objetos y sus campos, relaciones y otras características de su definición. Salesforce almacena los datos de las aplicaciones de todas las tablas virtuales en unas pocas tablas grandes de base de datos, que se particionan por inquilino y funcionan como almacenamiento de tipo heap. Luego, el motor de la plataforma materializa los datos de las tablas virtuales durante la ejecución, tomando en cuenta los metadatos correspondientes.

Si hay muchas consultas fuera de control y el rendimiento no está optimizado, lo notarás en toda tu organización, especialmente al realizar implementaciones. Estas son algunas señales claras:

  • Operaciones lentas de gestión de datos, bloqueos al compartir registros y bloqueos que afectan a los usuarios finales
  • Bajo rendimiento en vistas de lista e informes
  • Integraciones de API y otras operaciones que agotan el tiempo de espera debido a los límites de ejecución, especialmente los de tiempo de espera y CPU
  • Rendimiento lento de SOQL y SOSL, implementaciones ineficientes
  • Aumento del tiempo de actualización de sandboxes y gestión ineficiente de cambios
  • Páginas y componentes Lightning y Visualforce lentos
  • Resultados de búsqueda imprecisos; algunos registros no aparecerán hasta que se procesen

Desequilibrio de datos

Aunque es difícil cambiar los modelos de datos de las organizaciones existentes, diseñar tu modelo de datos anticipando su crecimiento y siguiendo las mejores prácticas protegerá eficazmente a tu organización de los problemas de rendimiento mencionados anteriormente.

Un problema frecuente ocurre cuando tienes más de diez mil registros secundarios en un objeto principal. Los objetos estándar como Cuenta y Oportunidad tienen relaciones de datos integradas y modelos de acceso compartido específicos. Un antipatrón común es tener un objeto principal asociado a muchos secundarios, lo que provocará bloqueos de registros y un bajo rendimiento de las consultas si las consultas y búsquedas no son lo suficientemente selectivas. Si este objeto principal también se actualiza desde distintos puntos, como API externas y cambios manuales de los usuarios, se generarán cuellos de botella y fallas a medida que aumente la cantidad de registros. Si tu organización depende en gran medida de configuraciones de visibilidad y acceso compartido basados en relaciones entre objetos principales y secundarios, usar métodos alternativos ayudará a reducir los tiempos de procesamiento:

Gráficos de desequilibrio de datos

‍

  • Prueba configurar el acceso compartido público de lectura y escritura como valor predeterminado para toda la organización en los datos no confidenciales, de modo que no sea necesario procesar reglas para datos a los que todos pueden acceder.
  • Configura los objetos secundarios para que estén controlados por el objeto principal siempre que sea posible.
  • Si experimentas bloqueos de registros, debes implementar una lógica de reintentos para los casos en que un registro esté bloqueado.
  • Procesa tus operaciones con ParentID para garantizar la unicidad y el uso de distintos hilos de ejecución.
  • Utiliza Apex por lotes y ten en cuenta los valores de tiempo de espera, los límites de Bulk API y las técnicas de optimización.

Para evitar el desequilibrio de datos, intenta distribuir los registros entre varios objetos principales y evita concentrar demasiados registros en un solo usuario, especialmente un usuario de integración o de API, como suele ocurrir. También puedes considerar otros enfoques de visibilidad y acceso compartido basados en roles mediante reglas de asignación de casos o prospectos.

Si ya trabajas con una organización que presenta estos problemas, lo mejor para comenzar es elegir un usuario al que asignar estos registros secundarios y colocarlo por encima de la jerarquía de roles, para que los cambios de propietario y el procesamiento no se ejecuten cada vez.

Cuando cambias las reglas de acceso compartido, independientemente de los criterios, se recalculan los cambios para todos los registros relevantes del sistema. Los cambios en la jerarquía de roles y la lógica de acceso compartido también se ejecutan en cada implementación, lo que aumenta los tiempos de implementación.

Otro escenario que debes considerar es el desequilibrio en las relaciones de búsqueda. Esto ocurre cuando tienes demasiados registros secundarios asociados al registro que buscas. Es muy fácil crear nuevos campos y relaciones en Salesforce, pero estos tienen un costo de rendimiento si trabajas con un gran volumen de datos. Para identificar este problema de rendimiento, debes revisar cuidadosamente los objetos con demasiadas operaciones de inserción y actualización.

‍

persona sosteniendo una lupa

Rendimiento de búsqueda en Salesforce

La arquitectura de búsqueda de Salesforce está diseñada y optimizada exhaustivamente para su propio almacenamiento de datos. Se utiliza internamente en muchos lugares:

  • Captura web de prospectos y casos
  • Reglas de duplicados y reglas de coincidencia
  • Conocimiento y soluciones de Salesforce
  • Campos de búsqueda y cuadros de búsqueda
  • Búsqueda global
  • La barra lateral

Salesforce indexa automáticamente la mayoría de los campos de texto. Esto devuelve primero las búsquedas indexadas en el conjunto de resultados y luego lo reduce según los permisos, los filtros y los límites de búsqueda. SOSL también funciona de manera similar y puedes utilizarlo mediante la API o Apex.

Lo que diferencia estas operaciones de una función de búsqueda en una base de datos tradicional es que, si aplicas ajustes de rendimiento tradicionales basados en el esquema de tu organización, verás que no son eficaces, porque la plataforma utiliza tablas virtuales de base de datos con metadatos, datos y tablas de pivote.

Otro punto importante es que, para que los datos aparezcan en el conjunto de resultados, primero deben estar indexados. Por eso, es posible que no veas registros nuevos en los resultados de búsqueda después de una carga masiva de datos: los registros aún no están indexados. (Hay muchas particularidades de la plataforma como esta que queremos abordar en nuestras próximas publicaciones para facilitarte el trabajo).

Optimizador de consultas de la plataforma Lightning

El Optimizador de consultas de la plataforma Lightning ayuda al optimizador de la propia base de datos a generar consultas eficaces al proporcionar acceso eficiente a los datos en Salesforce.

El optimizador de consultas de la plataforma Lightning trabaja con consultas generadas automáticamente que gestionan reportes, vistas de lista y consultas SOQL. El optimizador:

  • Determina el mejor índice para ejecutar la consulta, si es posible, según los filtros de la consulta.
  • Determina la mejor tabla para ejecutar la consulta si no hay un índice adecuado disponible.
  • Determina cómo ordenar las tablas restantes para minimizar el costo.
  • Inserta tablas de valores de claves externas personalizadas necesarias para crear rutas de unión eficientes.
  • Influye en el plan de ejecución de las uniones restantes, incluidas las relacionadas con el acceso compartido, para minimizar la entrada y salida (E/S) de la base de datos.
  • Actualiza las estadísticas.

Por ejemplo, también puedes aplicar estos consejos específicos para optimizar los reportes y paneles de bajo rendimiento en tu organización:

  • Usa filtros selectivos y reduce los datos que se consultarán.
  • Utiliza la indexación del sistema (ID externo) y la indexación personalizada según el caso de uso.
  • Generación asíncrona de reportes para ejecutar un reporte en segundo plano.
  • Vacía la papelera de reciclaje con frecuencia.
  • Usa parámetros de URL para filtrar reportes.
  • Usa métodos de envío por correo electrónico para recibir reportes de ejecución prolongada.

En la siguiente parte, profundizaremos en cómo escribir mejores consultas utilizando índices, tablas reducidas y estadísticas de bases de datos. Consulta Parte 2 de esta serie para obtener más información.

Comentarios

Deja un comentario

Boletín
Consejos de DevOps para Salesforce en tu correo

Nuevas publicaciones, lanzamientos y guías prácticas. Sin spam; cancela tu suscripción cuando quieras.

ÍNDICE
  • Arquitectura de la plataforma
  • Desequilibrio de datos
  • Rendimiento de búsqueda en Salesforce
  • Optimizador de consultas de la plataforma Lightning
También te puede interesar
Tendencias en Blue Canvas
Hablemos de tu configuración de Salesforce

Obtén una demostración específica o una cotización a tu medida

Agenda una consultaSolicita una cotización
Historias de clientes
Equipos reales, resultados reales
Sysco
Sysco
Dejó atrás Jenkins y redujo los despliegues de horas a minutos
Twilio
Twilio
Ahorró 2–3 días por sprint mientras ampliaba el equipo rápidamente
Catalyst Consulting
Catalyst Consulting
La ciudad de Chicago ahorra horas cada día con revisiones de código y despliegues estructurados
También podrían interesarte nuestras otras publicaciones...
Leer más
Salesforce DevOps
Kenji Sano | 6 de octubre de 2026
Las 8 mejores herramientas de implementación de Salesforce en 2026

Compara las 8 mejores herramientas y descubre cuál se adapta a tu equipo.

Read more
Salesforce DevOps
Kenji Sano | 6 de octubre de 2026
Las 9 mejores agencias de Salesforce en México en 2026

Comparamos 9 agencias y consultoras Salesforce en México por experiencia, especialización y capacidad. Además, qué preguntar sobre DevOps antes de contratar.

Leer más
Arquitectura y recursos
Randalyn Hill-Coffer | 5 de octubre de 2026
Las 19 principales herramientas de operaciones académicas para instituciones de educación superior que usan Salesforce en 2027

Compara 19 herramientas de operaciones académicas y áreas relacionadas para instituciones de educación superior que usan Salesforce en 2027. Descubre cuáles funcionan en Salesforce, cuáles se conectan a través de tu SIS y dónde podrías necesitar una integración.

Blue Canvas

DevOps de Salesforce para equipos. Control de versiones basado en Git, copias de seguridad de metadatos y despliegue continuo.

(786) 591-0702

Certificación SOC 2Socio de SalesforceSalesforce AppExchange

Despliegue en Salesforce

  • Herramientas de despliegue
  • Para metadatos de Salesforce
  • Para datos de CPQ

Producto

  • Funcionalidades
  • Seguridad
  • Historias de clientes
  • Precios

Recursos

  • Documentación
  • Blog
  • Operaciones académicas
  • Encuesta Anthropic x Salesforce
  • Socios
  • Integraciones
  • Gestión de lanzamientos

Empresa

  • Quiénes somos
  • Contáctanos
  • Empleo
  • X (Twitter)
  • LinkedIn
  • GitHub
Mantente al día
Novedades del producto

Recibe las últimas funcionalidades, lanzamientos y análisis técnicos detallados directamente en tu correo.

Seguridad y privacidad

·

Sin spam. Cancela tu suscripción cuando quieras.

© 2026 Blue Canvas. Todos los derechos reservados.

Política de privacidadTérminos de uso