MongoDB Introduces Workforce Identity Federation with OpenID Connect Support for...
source link: https://www.mongodb.com/blog/post/introduces-workforce-identity-federation-openid-connect-support-database-access
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
SQL Migrations Made Easy with PeerIslands SQL Migration Factory
More and more customers are migrating their SQL workloads to MongoDB due to multiple advantages offered by MongoDB. The advantages of MongoDB Atlas include but are not limited to :
Increased development velocity
Intuitive data representation using the document format
Horizontal scalability
High performance
Elimination of point solutions and simplification of data landscape
PeerIslands SQL Migration factory brings together deep hands on keyboard expertise in migrating SQL workloads and a complete suite of tools for handling each stage of the SQL migration journey. PeerIslands SQL migration factory aims at providing a seamless experience to customers looking to migrate out of SQL DBs into MongoDB.
The dimensions of a typical SQL migration
SQL migrations require a holistic approach across multiple facets. The typical areas which we need to address as part of migrations are below:
PeerIslands has helped multiple customers across each of these dimensions. Based on our experience with customers, PeerIslands has created a suite of tools to help address common problems faced by customers.
PeerIslands SQL migration tool suite
PeerIslands has developed a portfolio of tools that can help you with each stage of the SQL migration journey.
MongoDB schema design
We have seen customers struggle with developing the right MongoDB schema when the number of source tables exceeds even 10s of tables. Understanding the lay of the land and the access patterns takes significant time commitment from the SMEs and MongoDB team. The below tools help get a clear understanding of the SQL footprint and get guidance on developing the right MongoDB schema very quickly.
SQL intelligence
This tool provides rich consumable insights of the source SQL workload. The insights help in designing target MongoDB schema accurately. The tool analyzes 2 broad areas:
SQL data profile
The tool queries against the source SQL profile to derive:
List of tables, no of columns and row count
Table relationships (1 to 1, 1 to N, M to N)
Read heavy tables, Write heavy tables
Cardinality of relationships
The tool does this by querying the Data dictionary tables / Information schema and indexes.
Data access profile
The tool analyzes the SQL query logs to provide information about
Frequently joined tables
Frequently queried fields
Types of joins
The tool does this by running a parser on SQL query logs
Based on the insights gathered from these tools, we can rapidly design the target MongoDB schema.
Application impact analysis
One of the core impediments to a successful migration is not having a good sense of the effort and complexity of migrating to MongoDB. We have seen customers struggle on how to handle stored procedures that they have developed over the years. Customers also find it helpful to get a sense of how much code refactoring is involved when they move to MongoDB. PeerIslands has tools that address both these issues:
Stored procedures analyzer
This tool provides rich consumable insights about the stored procedures. The insights help in designing the right approaches for migrating the stored procedures.
The tool analyzes the SQL stored procedures to provide information about:
Frequently joined tables
Frequently queried fields
Types of joins
Operators used : Logical, relational and others
Subqueries
The tool does this by running a parser on the stored procedures. The tool also annotates each of the stored procedures with corresponding MongoDB operators.
Application analyzer
Applications that have a clear DAL layer are easier to migrate to other databases. However actual production applications can have multiple deviations from a standard architecture pattern.
We look at the application code to identify:
Entity models
Inline SQL queries
Data type conversions required
Date formats
Number of APIs
Access patterns
We leverage existing cyclometric analysis tools that customer may already have to understand the complexity.
These tools helps is getting a clear understanding of the amount of effort required to migrate application code.
Design validation and performance analyzer
One of the common asks from customers is to verify MongoDB performance for their particular use case. Customers want to simulate specific nuances around workloads, schema and queries. This is required to build confidence on MongoDB internally within the organization and to clearly understand & articulate cost performance benefits of MongoDB to other stakeholders. The below set of tools help address this critical need.
Test data generator and performance analyzer
Test data generator is a solution accelerator that helps customers generate large volume, customizable, close to real world test data for specific customer schemas.
The tooling also helps performance test MongoDB with custom load profiles and run specific queries against the data to understand MongoDB performance. This helps us understand the performance of specific application queries and fine tune MongoDB schema / indexes appropriately.
Key highlights of the solution are given below:
Test data generator & Performance analyzer is one integrated tool - test data generation, load profiling and testing for performance are all available as part of the tooling. There is no need for multiple tooling.
The solution generates close to real word data
Test data is customizable to specific customer schema
With load profiling, you can test MongoDB for specific load testing scenarios
MongoDB queries that are used in the application can be tested for performance under specific load conditions
MongoDB Sizer
MongoDB Sizer helps you define your own MongoDB schema and understand the size implications of that schema.
MongoDB Sizer is a fully UI driven tool. Using the tool, we can:
Define our schema or import a MongoDB schema
Provide sample documents and look at document sizes
Define indexes and collections
Provide number of documents expected
Calculate raw data size
The sizer also takes into account various parameters that drive Atlas sizing like IOPS, RAM and storage to calculate Atlas instance sizing. We will be able to understand the number of instances that are required, the cost implications of those instances as well as the number of shards that we need to have.
With the MongoDB sizer, users can get clear visibility into Atlas topology that will work for them.
Application refactoring
Application migrator
The application migrator is a set of libraries that ease migrating applications to use MongoDB. The libraries help with:
Quickly bootstrapping read / write interfaces with MongoDB collections
Decorators for data type conversions from SQL to MongoDB
Support for feature flag implementations to help in risk mitigated migrations.
The libraries can help with 2 modes of migration:
Dual database approach - SQL and MongoDB DBs coexist for a period of time. A subset of data resides in SQL while another subset of data is persisted in MongoDB. This is required in situations where mission critical data is in SQL and one time migration will be very risky.
One shot migration - Complete cutover of SQL DB and the data will be persisted only in MongoDB.
Stored procedures annotator
The annotator helps address one of the major pain points with SQL migrations : Conversion of stored procedures. The annotator takes a SP as a input and provides you with :
MongoDB operators that are equivalent to the given SQL operators.
Target collection names & attribute names for the given SQL table names. This is based on the schema mapping between SQL and MongoDB.
The annotator helps in rapidly rewriting the existing stored procedures into MongoDB queries.
MongoDB code scanner
In large enterprises, development teams are not fully conversant with MongoDB and consequently do not use the right coding practices on MongoDB. The MongoDB code scanner is a Semgrep based tool that highlights MongoDB coding issues. This helps the developers in understanding the MongoDB coding best practices and also prevents bad code from getting into production.
Data migration & synchronization
Migrating from a SQL store to MongoDB brings multiple challenges:
Migration requires code for schema transformation. This code can become quite complex.
Ongoing change capture requires custom programming.
Handling dependencies between migration jobs and managing migration infrastructure can become cumbersome.
Validation of migrated data takes significant time if the record set becomes large.
The MongoDB Relational migrator addresses all these pain points and can be used to rapidly perform the data migration from SQL to MongoDB
Spark migrator
Mainframe databases like DB2, Big data stores like Hadoop are not supported yet on Relational migrator. We have also seen cases where transformations can become very complex - multi level hierarchical mapping on SQL DBs etc. For these cases PeerIslands has built a fully configuration driven Spark based migration tool which can be used to support migration from any Spark supported source databases.
1Data
For microservices transformation, there is a frequent need to perform real time data synchronization between source SQL workloads and MongoDB for extended periods of time. In some cases we would also need reverse data pipelines from MongoDB to SQL workloads. PeerIslands has done extensive work with customers on building real time data pipelines and brings to the table field tested architectural patterns for addressing this requirement. This complete suite of tools enables PeerIslands to rapidly deliver on SQL migrations.
Typical engagement approach
PeerIslands follows a standardized approach designed to mitigate migration risks and deliver seamless migration experience. We follow a 4 step process that provides:
Migration to MongoDB using MongoDB best practices.
Getting migrations First time right.
table, th, td { border: 1px solid black; }
Stages
Pre Consult
Discovery
Solution blueprint
Migration factory
Description
Understand scope of migration and define pre requisites
Leverage PI tools for application and data analysis
Develop and validate solution blueprints for various components of the migration
Finalize migration strategy and end state architecture Implementation of solution blueprints and solution delivery
Deliverables
Migration scope definition
Pre requisites definition
SQL footprint analysis Stored procedures analysis Understand application complexity Workload characteristics NFRs
Target MongoDB schema Data migration strategy Target technical architecture SP migration strategy Services refactoring templates & PoC DAL layer refactoring templates & PoC Data pipeline PoCs
Detailed work package plan & estimates
Application development Data migration Data validation Performance tuning
PeerIslands provides hands on keyboard expertise with flexibility to independently deliver on application migration with minimal oversight from customers or leverage a co development model where PeerIslands resources work alongside customer engineering teams on migrations.
Application refacoring & new application development
table, th, td { border: 1px solid black; }
Customer
Customer Situation
PeerIslands Work
Top 4 Accounting firm
#App Refactoring
Hampered by COSMOS SQL DB inability to scale, customer was unable to serve its extra-large clients. Customer could not perform big bang migration to MongoDB as it would entail significant risk
PeerIslands rapidly delivered a low impact, risk mitigated migration in less than 8 weeks
Fully refactored customer application to work with both MongoDB and existing SQL DB
Successfully enabled MongoDB for specific clients based on configuration and designed a solution that had 0 impact on existing customers
One of the world’s largest airlines
#App Development
Faced with lack of agility, high costs and limited talent availability, customer wanted to move out of mainframes and deliver read workloads using MongoDB. PeerIslands is involved in multiple projects
Single pane of glass for all crew related tasks
Created micro-frontends using model federation to enable standardization and reuse
Watchdog UI to resolve data issues arising out of mainframe change feeds
Query tuning & optimization of MongoDB to improve application performance
GraphQL for servicing data needs of consuming applications
Large financial services firm
#App Development
Delivered near real time understanding of customer interactions with a unified interaction analytics platform. New platform operates at a lower cost than the existing solution with the customer
The new platform enables integration of multi channel customer interactions - voice, chat, SMS, video and brings real time insights with a single unified architecture
Platform provides customers with lower operational costs and stronger data governance due to simplified tech stack
Platform is future proof and designed to flexibly serve multiple user personas without significant need for development
One of the world’s largest telcos
#App Development
Designed and proved out a distributed database architecture to support expected 3X increase in customer device footprint while delivering results 100x faster
Helped customer understand the performance of the platform under difficult to simulate future load scenarios
Delivered 5 9’s uptime guarantee required for the mission critical platform
Showcased platform’s ability to adhere to stringent query SLAs required to satisfy end customer requirements - 40K msgs / sec, QPS < 1s
Data migrations
table, th, td { border: 1px solid black; }
Customer
Customer Situation
PeerIslands Work
US based state health organization
#SQL data migration
Helped customers realize better cost performance ratio by migrating from Oracle 11g to MongoDB Atlas
Helped deliver a fully reusable migration pipeline for moving data from Oracle to MongoDB and enabled customer to rapidly realize business benefits of using MongoDB
Highly complex migration - 100s of tables with complex data transformation requirements
Large scale : 100’s million of rows in source SQL tables
Data synchronization
table, th, td { border: 1px solid black; }
Customer
Customer Situation
PeerIslands Work
One of the world’s largest hotel chain
#SQL MongoDB real time data pipelines
Customer was struggling with syncing data from source SQL database to MongoDB
Helped rapidly deliver a real time data pipeline with Kafka tooling
Pipeline provides capability for schema versioning. Data transformations were implemented using SMTs
Debezium based CDC from source SQL
A large urgent care provider
#SQL MongoDB real time data pipelines
Struggling with COVID restrictions, customer had to rapidly implement Digital Front Door to accelerate contactless patient onboarding, digital waiting room and analytics. The DFD solution had to integrate in real time with SQL based EMR systems
Helped rapidly deliver a real time data pipeline with Kafka tooling
Streaming window based joins for schema transformation
Debezium based CDC from source SQL
Data profiling to fine tune Kafka & Debezium configuration
Please reach out to [email protected] to fast track your SQL migrations.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK