Financial services customers have mission critical use cases for payments, securities, loan origination, and other workloads that require highly available, secure, and scalable architectures. Delivering these requirements becomes challenging for application owners due to the complexity of maintaining large databases. Scaling infrastructure for increasing storage or throughput may require sharding your database across multiple instances. Maintaining business continuity can involve error prone processes such as log shipping or live replication to separate AZs and Regions. Recurring maintenances such as patching, version upgrades, recovering failed instances, data compaction, and index rebuilds can impact your application availability.
In this post, we discuss how Amazon DynamoDB helps financial services customers overcome these challenges for common industry use cases. We also share customer examples, such as Fidelity Investments, Experian, Moody’s, and other financial services applications that are built with DynamoDB.
Amazon DynamoDB provides developers with a highly available, secure, and serverless NoSQL database that delivers consistently fast performance at any scale. Developers choose DynamoDB because its serverless architecture eliminates the overhead of operating and scaling databases. DynamoDB provides seamless scalability as workloads grow from hundreds of users to hundreds of millions of users, or single Regions to spanning multiple Regions. DynamoDB helps secure data with encryption and continuously backs up data for protection. As of this writing, DynamoDB has over 1 million customers, with customers like Amazon Ads Measurement issuing 95 million requests per second to over 4 PB of data in DynamoDB. Hundreds of DynamoDB customers have tables larger than 200 TB of data, each serving peak traffic of over half a million requests per second. Although DynamoDB solves the challenges of scaling traditional database solutions, customers often ask for guidance on how DynamoDB supports financial services uses cases.
Why financial services customers use DynamoDB
Financial services customers choose DynamoDB for security, resilience, performance, and scale. DynamoDB helps financial services customers align with industry regulatory compliances such as SOC 1/2/3, PCI, FINMA, and ISO (for more information, see AWS Services in Scope by Compliance Program). With DynamoDB, customer data is encrypted in transit and at rest by default.
You can specify whether DynamoDB uses an AWS-owned encryption key (the default), an AWS managed key through AWS Key Management Service (AWS KMS), or a customer managed key to encrypt user data.
DynamoDB is designed so you can make sure communication with DynamoDB stays in your network. You can access DynamoDB from your virtual private cloud (VPC) via a gateway VPC endpoint and restrict access within your VPC. AWS PrivateLink support enables private connectivity from on-premises workloads.
DynamoDB uses AWS Identity and Access Management (IAM) to authenticate and authorize access to resources. IAM helps remove the complexity of managing internal security layers for users, roles, and permissions found in RDBMS engines. You can specify IAM policies and conditions that allow fine-grained access, restricting read or write access down to specific items and attributes in a table, based on the identity of that user. This enables you to enforce security policies or access patterns such as financial ledgers at the code level. Furthermore, resource-based policies reduce the complexity of maintaining regulatory compliance requirements by enabling workload isolation.
Amazon DynamoDB Streams provides a change data capture (CDC) log in near real time so that you can build applications that consume these streams and take action based on the contents.
The following diagram illustrates an event-driven architecture for a transactional ledger workload built with DynamoDB.
DynamoDB is built for applications with the most stringent availability requirements, such as storing pricing information for credit card payments services; there are no servers to provision or manage, no software to install or maintain, zero downtime for maintenances, and an availability SLA up to 99.999%. This minimalizes the operational burden of manually scaling instances for increased storage or throughput, unavailability from patching or versioning, and licensing costs. With Amazon DynamoDB global tables, a fully managed, serverless, multi-Region, multi-active database, applications can respond to events and serve traffic from your choice of AWS Regions with fast local read and write performance. For example, global tables let your users continue to update equities limit orders or submit new buy orders regardless of which Region they’re served from.
The following diagram illustrates DynamoDB global tables active-active replication.
DynamoDB offers virtually limitless scalability with consistent, single-digit millisecond latency. Developers can use DynamoDB transactions to perform atomic, multi-item operations with ACID consistency across one or more tables within a single Region. DynamoDB transactions enable workloads such as processing financial transactions or fulfilling trade orders. Furthermore, DynamoDB instantly accommodates your workloads as they ramp up or down, enabling you to efficiently scale your database for market conditions such as trading hours. DynamoDB supports unlimited concurrent HTTPS connections, unlike relational database solutions that are limited by a fixed size connection pool. This provides virtually unlimited read and write throughput. Banking customers regularly write to single DynamoDB tables over 1 million times per second.
Common financial services use cases
In this section, we discuss common financial services use cases and related DynamoDB features:
Feature store – Banks use DynamoDB as a central, singular data store managing feature attributes from source systems. When suspicious transactions are attempted, ML applications can retrieve the attributes for users in several milliseconds, enabling high-quality decisions. Banks choose DynamoDB as a feature store because its performance and durability characteristics provide greater predictability than traditional database solutions.
Sequence or token generator – As a foundational service for multiple other banking applications, a sequence or token generator is used to create and store mappings between new unique keys and private or sensitive records. For example, a token may be used in place of a credit card number in a website URL, while DynamoDB provides fast access to the underlying record via a key-value read request. New sequential primary keys can be generated to store transaction records in a ledger table in correct chronological order.
Object store – Financial services companies use DynamoDB to store JSON documents, binary objects, and log messages, and many other artifacts in an object store. The indexed storage of DynamoDB and its ability to create custom secondary indexes provide multiple search paths to help locate an object record, or a pointer to a large object maintained in Amazon Simple Storage Service (Amazon S3).
Loan origination – Credit unions, banks, and other lenders use DynamoDB to store and process the decision-making and results for loan approvals. DynamoDB offers native integration with AWS services natively such as AWS Lambda, which can invoke machine learning (ML) models that automate approval logic. DynamoDB provides limitless scalability, so you can effortlessly maintain TBs or PBs of historical loan decision data.
Order management and routing – Trading and brokerage businesses use DynamoDB to validate and persist equities trade orders, and route orders to stock exchanges and broker dealers for implementation. DynamoDB’s consistent single-digit millisecond latency at any scale enables you to quickly and seamlessly adjust to trading hours or seasonal demand.
Transactional ledger databases – Payment companies use DynamoDB as append-only transactional ledger databases. Transactional ledger databases let you record and maintain a complete history of financial data, such as accounting or transactions, over a period of time. This supports banking data integrity requirements, such as immutability and easy auditing. Event-driven processing with DynamoDB Streams enables custom streaming workflows based on entries to the ledger.
Financial services customers
In this section, we share case studies from financial services customers that use DynamoDB. For more information, refer to Case Studies for Financial Services.
Fidelity Investments – Learn how Fidelity Investments improved scale tenfold and reduced latency by modernizing their live trade execution and order routing workload from Oracle to DynamoDB.
Capital One – Learn how Capital One reduced application failover time by 99% using DynamoDB global tables.
Experian – Learn how Experian accelerated software deployments from months to hours by migrating their credit score, credit report, identity protection, and credit match marketplace from Microsoft SQL Server to DynamoDB.
Nubank – Learn now Nubank uses DynamoDB for credit card, banking, loan, and insurance workloads. DynamoDB’s fast performance at any scale helps them adhere to the Brazil Central Bank’s Pix requirements that let customers transfer money in under 10 seconds.
Moody’s – Learn how Moody’s uses DynamoDB for their credit ratings and risk assessments services. Using DynamoDB in their serverless framework improved Moody’s cost-efficiency and resiliency, enabling their analysis to deliver for investors faster and at a lower cost.
Vanguard – Learn how Vanguard scaled Personal Advisor Service, their flagship personal investment advice service, with DynamoDB.
Discover – Learn how Discover uses DynamoDB to store pricing information in its Discover Global Networks payments services. By reducing operational tasks on AWS, Discover engineering enhanced developer efficiency. Discover expects to save almost 93% on costs over 5 years compared with an on-premises solution.
Santander – Learn how Santander Corporate and Investment Banking supports algorithmic trading across multiple trading desks with DynamoDB to achieve greater business agility while significantly lowering costs.
State Auto Insurance Companies (Liberty Mutual) – Learn how State Auto improved latency by up to 125 times and increased their developer efficiency by building their insurance web app with DynamoDB.
Zomato – Learn how Zomato increased database throughput to four times faster, reduced latency by 90%, and lowered costs by 50%, while significantly reducing operational overhead by migrating their billing platform from TiDB to DynamoDB.
Resources for financial services customers
To learn more about adhering to compliance, data protection, isolation of compute environments, audits with APIs, and access control and security in DynamoDB, refer to DynamoDB FSI Service Spotlight.
For more information about modeling an online banking system with DynamoDB, watch DynamoDB Office Hours: Modeling an online banking service.
Conclusion
In this post, we discussed how financial services customers use DynamoDB. We discussed common financial services DynamoDB use cases, such as loan origination, equities ordering and routing, and transactional ledger databases. We also described how DynamoDB can improve performance, scale, and cost-efficiency, as shown through some customer examples. To see more examples, see Case Studies for Financial Services. You can get started with DynamoDB by visiting the DynamoDB console and the Amazon DynamoDB Developer Guide.
About the authors
Jason Laschewer is an Outbound Product Manager on the Amazon DynamoDB team. Jason has held a number of Business Development roles in non-relational databases at AWS. Outside of work, Jason enjoys seeing live music, cooking, and spending time with his wife and three children in NY.
Robert McCauley is a DynamoDB Specialist Solutions Architect based out of Boston. He began his Amazon career ten years ago as a SQL developer at Amazon Robotics, followed by a stint as an Alexa Skills solutions architect, before joining AWS.
Source: Read More