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
Threaded  |  Newest First  |  Oldest First
Exploits Released for As-Yet Unpatched Critical Citrix Flaw
Jai Vijayan, Contributing Writer,  1/13/2020
Microsoft to Officially End Support for Windows 7, Server 2008
Kelly Sheridan, Staff Editor, Dark Reading,  1/13/2020
Active Directory Needs an Update: Here's Why
Raz Rafaeli, CEO and Co-Founder at Secret Double Octopus,  1/16/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-15625
PUBLISHED: 2020-01-18
A memory usage vulnerability exists in Trend Micro Password Manager 3.8 that could allow an attacker with access and permissions to the victim's memory processes to extract sensitive information.
CVE-2019-19696
PUBLISHED: 2020-01-18
A RootCA vulnerability found in Trend Micro Password Manager for Windows and macOS exists where the localhost.key of RootCA.crt might be improperly accessed by an unauthorized party and could be used to create malicious self-signed SSL certificates, allowing an attacker to misdirect a user to phishi...
CVE-2019-19697
PUBLISHED: 2020-01-18
An arbitrary code execution vulnerability exists in the Trend Micro Security 2019 (v15) consumer family of products which could allow an attacker to gain elevated privileges and tamper with protected services by disabling or otherwise preventing them to start. An attacker must already have administr...
CVE-2019-20357
PUBLISHED: 2020-01-18
A Persistent Arbitrary Code Execution vulnerability exists in the Trend Micro Security 2020 (v160 and 2019 (v15) consumer familiy of products which could potentially allow an attacker the ability to create a malicious program to escalate privileges and attain persistence on a vulnerable system.
CVE-2020-7222
PUBLISHED: 2020-01-18
An issue was discovered in Amcrest Web Server 2.520.AC00.18.R 2017-06-29 WEB 3.2.1.453504. The login page responds with JavaScript when one tries to authenticate. An attacker who changes the result parameter (to true) in this JavaScript code can bypass authentication and achieve limited privileges (...