Bracket Simplifies Real-Time Data Sync Between Business Tools and Databases
In today's interconnected business landscape, organizations rely heavily on multiple tools and databases to manage their operations. However, keeping these systems in sync can be a complex and time-consuming task. This article explores Bracket, a platform that simplifies two-way data synchronization between business tools and databases using PostgreSQL's advanced capabilities. Through a detailed examination of its technical approach, implementation, and future developments, we'll uncover how Bracket provides real-time data access while maintaining the advantages of familiar tools like Salesforce.
Bracket's core technical approach builds upon a custom trigger system in Postgres that enables bidirectional data synchronization between popular business tools and databases. The platform supports both polling and streaming sync methods to ensure efficient data reconciliation across connected systems.
For data synchronization, Bracket uses PostgreSQL's capabilities to maintain an event log, storing snapshots in client-side tables that can reside in PostgreSQL or MongoDB. This hybrid approach allows the company to handle each database's specific quirks through automated field transformations, with particular attention paid to MySQL's distinct requirements, such as its lack of BOOL field types.
The company's implementation prioritizes the primary source of change through a combination of hybrid polling and event-driven polling methods. When conflicts arise between changes made in Salesforce and Postgres, Bracket's conflict resolution strategy prioritizes the most recent updates from the primary source system. This approach effectively resolves conflicts by discarding conflicting changes rather than attempting complex merge operations.
To implement this solution, Bracket employs a sophisticated field transformation mechanism that automatically converts data types between Salesforce and Postgres. While the current system supports basic field mapping, future updates aim to expand this functionality to allow more detailed transformations between connected systems. The company has demonstrated the effectiveness of its approach through minute-level sync capabilities, outperforming batch-oriented solutions like Fivetran's larger data batch processing intervals.
Bracket's integration process is designed to minimize technical overhead for users. The company provides a straightforward 90-second setup time for syncing a Salesforce object with a Postgres table, though implementation complexities can vary based on the specific database schemas being connected.
The integration process begins with connecting Salesforce via OAuth and Postgres via a connection URI, including SSL protocol options. Users have the option to either create a new Postgres table or map fields between their existing Salesforce object and Postgres table. Once connected, users can configure the sync to operate in either polling or streaming mode, with the default being polling at 30-60 second intervals or streaming at 10-30 second intervals.
The platform supports several key features to enhance user flexibility. Users can apply SQL filters to subset their data source, allowing for more precise data targeting. While the company's infrastructure is designed to support multiple database types, including MySQL and other warehouses, the streaming functionality is currently limited to Postgres. Future development includes expanding support for MySQL and additional database types.
Bracket's pricing model is based on the volume of data kept in sync, with multiple subscription tiers available. The company has implemented a free starter plan to enable users to evaluate the platform without initial costs. Current implementation supports real-time data access while maintaining the advantages of familiar Salesforce tools for data management.
Bracket addresses key technical challenges through a hybrid polling/streaming approach that prioritizes the primary source of change for conflict resolution. The company's streaming implementation combines event-driven polling with periodic checks to optimize both performance and data consistency.
When handling infinite loops that can arise from bidirectional synchronization, Bracket's architecture includes mechanisms to detect and prevent circular references. This is particularly important in scenarios where both Salesforce and Postgres might trigger changes simultaneously.
The streaming capabilities provide significant advantages over traditional batch processing approaches like Fivetran's, offering minute-level sync frequencies that are not possible with larger data batches. However, this real-time processing requires careful management of database write operations to prevent performance degradation.
Conflict resolution follows a primary source wins approach within a sync period, effectively dropping conflicts and pretending they didn't happen. This strategy has proven effective based on early user feedback, though the company acknowledges some users would prefer manual conflict review functionality, which is currently under development.
Field-level transformations between Salesforce and Postgres represent another critical technical challenge. The company's solution handles basic data type conversions like Salesforce picklists to Postgres integers, with future plans to expand this capability to support more complex transformations requested by users.
While Bracket's current implementation focuses on minute-level syncs through its Starter plan, the company faces significant engineering and operational complexities compared to batch-oriented solutions. However, they remain optimistic about achieving cost savings through process stabilization.
Operating as a YC W22 spin-off, Bracket positions itself as an alternative to Heroku Connect, offering several key advantages that have helped it stand out in the market. The company's main differentiators include competitive pricing and the versatility to support multiple database types, including hosted Postgres and other warehouses.
Bracket's growth trajectory reveals how the company evolved from serving as a stop-gap solution for companies needing lightweight business intelligence tools to building robust two-way sync capabilities. During its YC W22 tenure, the company rapidly pivoted five times in just two weeks leading up to Demo Day, demonstrating its flexibility and problem-solving approach.
The technical foundation of Bracket's platform enables it to work with a diverse ecosystem of tools, from CRM systems like Salesforce to various database types including Airtable and Google Sheets. While the company's current development focus remains on integrating with Salesforce and Postgres, it has established a scalable architecture that can support additional connectors.
Bracket's subscription pricing is designed to be more accessible than Heroku Connect, which can cost over $50k per year for some users. The company offers a free starter plan to allow potential customers to evaluate the platform without financial commitment, while its paid plans scale based on the volume of data kept in sync.
As Bracket looks ahead, the company plans to address several technical challenges identified during its development process. Key priorities include expanding field-level transformations to support more complex data mappings, improving support for MySQL, and advancing self-hosting capabilities for both data and service infrastructures.
Bracket's roadmap for the coming year includes several key technical developments that will expand their platform's capabilities. In Q1, the company plans to release an API that allows users to define sync configurations more flexibly, enabling more sophisticated automation of their data integration processes.
The company is actively working on expanding self-hosting capabilities for both the data and service infrastructure. While their current infrastructure allows users to self-host the associated datasets, such as the Postgres event log table, the company aims to extend this to support self-hosting of the entire service in the future. This will give users more control over their data infrastructure while maintaining Bracket's synchronization functionality.
Future developments will also focus on enhancing field-level transformations to support more complex data mappings. The company has demonstrated that their current field transformations can handle basic data type conversions, such as mapping Salesforce picklists to Postgres integers. In response to user feedback, Bracket plans to develop more advanced field transformation capabilities that will allow users to create custom mappings between their connected systems.
Additional technical improvements will aim to address scalability limitations in their streaming implementation. While Bracket's current streaming functionality works effectively with Postgres, the company has acknowledged challenges in supporting real-time syncing with additional database types like MySQL. The engineering team is currently working on expanding their connector support, with MySQL specifically identified as the next priority after completing their Hubspot integration.
As the company continues to refine its two-way synchronization implementation, they plan to address several technical challenges that have emerged during development. Key areas of focus include optimizing write operations to prevent performance degradation in real-time processing, developing robust conflict resolution strategies to handle simultaneous changes from both Salesforce and Postgres, and improving support for metadata syncing to provide users with more comprehensive data management capabilities.