Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Perimeter

2/6/2010
04:08 PM
Adrian Lane
Adrian Lane
Commentary
50%
50%

Amazon's SimpleDB Not Your Typical Database

Several cloud providers offer databases specifically designed for cloud deployment. Amazon's SimpleDB, while technically a database, deviates from what most of us recognize as a database platform. Although SimpleDB is still in prerelease beta format, developers have begun designing applications for it.

Several cloud providers offer databases specifically designed for cloud deployment. Amazon's SimpleDB, while technically a database, deviates from what most of us recognize as a database platform. Although SimpleDB is still in prerelease beta format, developers have begun designing applications for it.SimpleDB, like its name implies, is a very simple data repository. It's designed to provide storage and retrieval services with minimal complexity. The core operations are put (insert), select, batch put (bulk upload), and delete. Data can be divided into domains, much like database schemas, but the similarities end there.

This cloud database service is not for transactional systems where data accuracy and integrity are mandatory.

The fundamental difference with SimpleDB is it lacks a schema that defines structure and data types, which relational databases require. The lack of the logical schema and table constructs drastically changes operations.

First, you do not need to define data before you insert it, so you can choose data types dynamically. Second, there are no primary or foreign key requirements to force referential integrity relationships because, quite simply, the concepts of columns and keys do not exist. Data elements are not evaluated for conformity prior to insertion. Third, stored data is automatically indexed, but done in a simple Google-esque manner that does not require the overhead associated with relational indices.

Finally, SimpleDB relies on indexed flat files. Rather than following the model of using a predefined block structure, adhering to a database vendor proprietary format, SimpleDB writes data out to file without imposing a rigid structure. Data need not be clustered physically in the same location on disk to boost performance.

When you strip away all of the relational database management overhead, insertions and queries are much faster. Insertion performance is very fast because there is no processing to perform data integrity, conformity, and consistency checks. Queries by nature are not complex and use a direct indexing system, which quickly locates data that matches query attributes. There are no issues with joining tables together, and much like a Google search, unstructured and dissimilar types of information are quickly located.

Flexibility is also a big advantage. With no need to worry about data types, your application can store different data types without knowing what you will be storing in advance. Applications built on this platform can offer dynamic storage capabilities, and changes to the application or data types do not require restructuring the database. But these advantages in speed, cost of ownership, and programmatic simplicity do have a downside. SimpleDB does not offer transactional consistency support. Database "state" is not guaranteed, and operational processes endemic to most relational databases like "two phased commit" to ensure your data was actually stored are not present. That means if something goes wrong during the insertion or deletion process, then data you meant to store may not be available.

Integrity checks on the data to ensure type, integrity, or range validation are not available. Underlying cloud storage is cheap and readily available, but multitenant (shared) in nature, which may not meet regulatory confidentiality and security requirements.

Amazon SimpleDB is in many ways more like a file system you dump your data into than a traditional relational database platform. As its name implies, it was designed for simplicity. By stripping functions down to the very basic elements of insertion, look-up, and deletion, there is not a lot of overhead to slow things down.

Just keep in mind that this will be very good for file and photo- sharing applications, but SimpleDB is not suitable for transactional systems.

Adrian Lane is an analyst/CTO with Securosis LLC, an independent security consulting practice. Special to Dark Reading. Adrian Lane is a Security Strategist and brings over 25 years of industry experience to the Securosis team, much of it at the executive level. Adrian specializes in database security, data security, and secure software development. With experience at Ingres, Oracle, and ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Major Brazilian Bank Tests Homomorphic Encryption on Financial Data
Kelly Sheridan, Staff Editor, Dark Reading,  1/10/2020
Exploits Released for As-Yet Unpatched Critical Citrix Flaw
Jai Vijayan, Contributing Writer,  1/13/2020
Microsoft Patches Windows Vuln Discovered by the NSA
Kelly Sheridan, Staff Editor, Dark Reading,  1/14/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: This comment is waiting for review by our moderators.
Current Issue
The Year in Security: 2019
This Tech Digest provides a wrap up and overview of the year's top cybersecurity news stories. It was a year of new twists on old threats, with fears of another WannaCry-type worm and of a possible botnet army of Wi-Fi routers. But 2019 also underscored the risk of firmware and trusted security tools harboring dangerous holes that cybercriminals and nation-state hackers could readily abuse. Read more.
Flash Poll
[Just Released] How Enterprises are Attacking the Cybersecurity Problem
[Just Released] How Enterprises are Attacking the Cybersecurity Problem
Organizations have invested in a sweeping array of security technologies to address challenges associated with the growing number of cybersecurity attacks. However, the complexity involved in managing these technologies is emerging as a major problem. Read this report to find out what your peers biggest security challenges are and the technologies they are using to address them.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-20003
PUBLISHED: 2020-01-17
Feldtech easescreen Crystal 9.0 Web-Services 9.0.1.16265 allows Stored XSS via the Debug-Log and Display-Log components. This could be exploited when an attacker sends an crafted string for FTP authentication.
CVE-2019-3686
PUBLISHED: 2020-01-17
openQA before commit c172e8883d8f32fced5e02f9b6faaacc913df27b was vulnerable to XSS in the distri and version parameter. This was reported through the bug bounty program of Offensive Security
CVE-2019-3683
PUBLISHED: 2020-01-17
The keystone-json-assignment package in SUSE Openstack Cloud 8 before commit d7888c75505465490250c00cc0ef4bb1af662f9f every user listed in the /etc/keystone/user-project-map.json was assigned full "member" role access to every project. This allowed these users to access, modify, create and...
CVE-2019-3682
PUBLISHED: 2020-01-17
The docker-kubic package in SUSE CaaS Platform 3.0 before 17.09.1_ce-7.6.1 provided access to an insecure API locally on the Kubernetes master node.
CVE-2019-17361
PUBLISHED: 2020-01-17
In SaltStack Salt through 2019.2.0, the salt-api NEST API with the ssh client enabled is vulnerable to command injection. This allows an unauthenticated attacker with network access to the API endpoint to execute arbitrary code on the salt-api host.