Keys to Database Success
The holy grail of database effectiveness is security, speed, scale, and performance.
Join the DZone community and get the full member experience.Join For Free
To learn about the current and future state of databases, we spoke with and received insights from 19 IT professionals. We asked, "What are the keys to a successful database strategy?" Here’s what they shared with us:
- Keys to a successful database strategy are definitely in security and data management. “All” data should always be treated as highly sensitive and private at all times. Data should be protected at rest and during transport. Take whatever measures necessary to ensure data is secured. Along with data security and management, it is important to pay attention to data access and high availability. If you have secured data but you’re unable to access it, especially when needed, then data is not very useful.
- 1) When moving to the cloud one of the obstacles is paranoia about putting data into a public cloud and losing control. However, you’re already doing this when you put it in a private data center. You need the same security checks regardless of where you host. 2) Determine the database solution that’s best for your use case. Moving from commercial to open source is a fair amount of work. If it’s just data, it’s easier than if you have logic since most databases have proprietary logic for storage. Comes down to your comfort level and background.
- Speed and performance are key for our clients. Scalability is key for tomorrow’s data volumes. Extensibility is key so we provide a programming language as part of our database. Allows developers to embed new analytics, write new libraries, build applications on top of the database very, very quickly. Ingest data and query in real-time and then do clever things with that data.
- Our clients are always looking for performance. Financial services are moving from on-prem to cloud-native, so security is a concern followed by availability and scale depending on the use case.
- We recommend beginning with a data platform. There are use cases for databases themselves. Don’t compromise on the fundamental requirements of speed, performance, and scale. In almost every system, you will need to compromise on data consistency. Bring in mission-critical data with consistency, durability, high availability, security, consistent latency at any scale. For customers moving into microservices, building modular processing integrated with streaming, multi-tenancy is super critical. You need to be able to build hundreds or thousands of applications in the same cluster. Don’t manage 4,000 database instances. Everything in the same cluster adds to efficiency. Know what to expect on databases know what they’re good at. Type of applications people want to build is pretty broad. The database needs to be able to support transaction application, NoSQL applications, analytic applications, flexible query capabilities, indexes, analytics, and Spark integrations.
- Be able to consume high volumes of data while still being able to query it in real time. Database technology should be easy to set up, maintain and use. That’s why we chose SQL as the language of choice.
- Speed is critical, so think about the amount of memory you are using. It’s difficult to overestimate the impact SSD’s have made on data ingestion. There is no seek time. How much memory can you afford to allocate? Are you properly indexed? DBAs still earn money in proper tuning and indexing of databases. The right person can make the problem much more manageable.
- The most important thing about an enterprise-wide database strategy is to analyze the value-add it provides your business. A very visible value-add that a database provides is that it can provide you a dependable data source, which is what your business needs to have stable operations in a 24x7 setting. This is non-negotiable and a must-have for a successful database strategy. Each database software that you deploy has to meet the needs of its use case, be it speed, scale, security, compliance, or something else. The other value-add, which is not directly measurable, is the cost of lost opportunity for your business if you have a database that does not enable your developers to innovate quickly and move fast. In today's world, the key to success is for your developers is to be able to access data securely to try new ideas and innovative experiments. The requirement is something that today's CIOs and VPs of Engineering need to consider in a successful database strategy. Is it possible for your developers to create sample data marts from your production databases where they can run their own experiments without impacting your production workload? Can your developers pull in third-party datasets into the database with minimal effort so that they can create intelligent data applications that leverage multiple datasets?
- Have a process conversation to discuss how to get database changes to move more quickly through the process. Enable applications teams, know what the DBAs are responsible for on scale and compliance. We add the most value by bringing DevOps principles to database conversations. Strive to create database code just like application code.
- Proper planning — determine the requirements for availability, storage, and performance, then engage partners with experience designing platforms to match. Our database strategy is core to our operational and customer support strategy.
- A lot of customers are looking to modernize applications across industries with risk, fraud, supply chain inventory management applications. A mix of workloads is happening. How to build a modern application that blends analytics like categorization, attribution, personalization, and recommendation into the application they are building that combines transactional, relational, and social data. Customers also want to do real-time. We advise them on analyzing and giving fast access to data and keeping secure. Have expertise around data pipelining and data fabric as a service to integrate with Hadoop, Spark, and TensorFlow.
- Understand the role of different databases and explore new technology with the goal of convergence toward uniformity with the right vendors, robustness, community, interoperability. Understand the new tools for development, modeling, integration that support and integrate with the product you are building. Be able to connect the dots, know where the data is coming from, what are customers doing with it, trace back the complete lineage in seconds. Also, be able to get out of the way where integration is concerned.
- No matter what database you select, take the time to learn it well. Understand what you want to accomplish with that database, how you will be able to scale with it, what its options are for security, how you’ll get the best performance out of it, etc. Really, a critical key to a successful database strategy — particularly with more and more databases emerging — is understanding it as fully as possible before diving in.
- A successful database strategy centers around a database that gets out of the developers way so they can concentrate on building compelling apps. To truly drive innovation, developers need a platform that: 1) Makes it easy to work with data of any structure for operational and analytics workloads; 2) Makes it easy to distribute data to where they need it to be — whether that's to scale-out the database, or to collocate data close to users for low latency access and data sovereignty; 3) Gives them the freedom to run their apps anywhere - laptop, on-prem, hybrid, cloud, or as a fully managed service — all securely and at scale.
- The most important thing is to understand why you are designing a database; you should be matching your solution to your business goals. Regardless of what today’s technology and innovation has to offer, the core principles of designing databases fit for purpose has to be number one. That will dictate everything else. If you design a database poorly, everything else will probably be compromised in some way. Other factors to consider are TCO, ease of use, richness/simplicity of functionality, ease of administration and management, and scalability. How much data do you need to handle? How fast do you need to process it? How do you want to manipulate it? Whether it will work well with your existing technology?
- Focus more in use case-driven approaches to help customers solve problems. Different data streams you need to support. We use use cases to drive platform and database strategy which led to the active analytics layer. While use cases differ, the underlying analytics layer is similar. The advent of DPU acceleration to process streaming data and advanced analytics calculation and a developer API to invoke analytics for custom analytical applications is huge.
- Most customers have already selected a database engine and the underlying infrastructure. We help deliver projects in a shorter timeframe with lower risk and lower cost with the selected engine and infrastructure. We use our DataDevOps tools to deliver changes efficiently, run jobs, and operations.
Here are the contributors of insight, knowledge, and experience:
- Raghu Chakravarthi, SVP and Chief Product Officer, Actian
- Joe Moser, Head of Product, Crate.io
- Brian Rauscher, Director of Support, Cybera
- Sanjay Challa, Director of Product Management, Datical
- OJ Ngo, CTO, DH2i
- Anders Wallgren, CTO, Electric Cloud
- Johnson Noel, Senior Solutions Architect, Hazelcast
- Adam Zegelin, SVP Engineering, Instaclustr
- Daniel Raskin, CMO, Kinetica
- James Corcoran, CTO of Enterprise Solutions, Kx
- Neeraja Rentachintala, V.P. of Product Management, MapR
- Mat Keep, Senior Director of Product & Solutions, MongoDB
- Philip Rathle, V.P. of Products and Matt Casters, Chief Solution Architect, Neo4j
- Ariff Kassam, V.P Products, NuoDB
- Dhruba Borthakur, co-founder and CTO, Rockset
- Erik Gfesser, Principal Architect, SPR
- Lucas Vogel, Owner, Endpoint Systems
- Neil Barton, CTO, WhereScape
Opinions expressed by DZone contributors are their own.