Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 22 reacties

Amazon voegt een eenvoudige databasecomponent toe aan zijn webdienstenpallet. SimpleDB, voorlopig in bètavorm beschikbaar, zou vooral geschikt zijn voor kleine hoeveelheden data.

Amazon Web ServicesDe database kan volgens Amazon door webontwikkelaars worden gebruikt als een goedkoop en vereenvoudigd alternatief voor een relationele database. SimpleDB is universeel aanspreekbaar, waardoor bijvoorbeeld een desktopapplicatie gegevens via Amazon kan opvragen. De webservice kan met de Rest- en Soap-api's benaderd worden. Voorbeeldcode voor onder andere Java, Perl, PHP, C# en Vb.Net is door Amazon beschikbaar gesteld.

SimpleDB biedt niet de mogelijkheden die een relationele database standaard in huis heeft om data gestructureerd te ordenen, waardoor een ontwikkelaar 'on the fly' een database kan creëren zonder lang over de structuurindeling na te denken. Hier schuilt ook direct het gevaar, schrijft Reg Developer: zoekopdrachten kunnen bij een groeiende database lang duren doordat de data onlogisch is ingedeeld. Daarnaast wordt alle data behandeld als een string, waardoor validatie van inkomende data door de server onmogelijk is. Hierdoor wordt de kans op databasevervuiling vergroot.

Gebruikers van SimpleDB betalen Amazon 1,50 dollar per gigabyte voor het opslaan van de gegevens. Daarnaast rekent het bedrijf 14 dollarcent voor elk uur dat een 1,7GHz Xeon-processor in de weer is met de database. Het inkomende dataverkeer kost de gebruiker 10 dollarcent per gigabyte, terwijl de eerste 10TB aan uitgaand verkeer 18 dollarcent per gigabyte bedraagt.

Om te hoge kosten te voorkomen stelt Amazon voor dat gebruikers grote bestanden opslaan bij zijn S3-storage service, waarbij tegelijkertijd de SimpleDB voorzien wordt van doorverwijzingen naar deze data. De inhoud van een SimpleDB-database wordt door Amazon bij elke mutatie automatisch gebackupt, maar door het ontbreken van een transactiemodel is gegevensverlies niet voor honderd procent uit te sluiten; SimpleDB lijkt daardoor ook het meest interessant voor applicaties die vooral leesoperaties op de database afvuren.

Moderatie-faq Wijzig weergave

Reacties (22)

Jullie missen allemaal het belangrijkste punt: Amazon Removes the Database Scaling Wall ★

There's a serious economic and human wall here. You need to buy hardware and find the people who know how to make a database scale. The latter is the hard problem, the people are scarce and the big companies are bidding up the price for their time. Now Amazon is willing to sell you that, to turn this scarce thing into a commodity, at what likely is a very reasonable price. (Haven't had time to analyze this yet, but the other services are.) Key point, the wall is gone, replaced with a ramp. If you coded your database in Amazon to begin with you will never see the wall. As you need more capacity you have to do nothing, other than pay your bill.

[Reactie gewijzigd door Justice op 17 december 2007 23:32]

Bij die redenering heb ik toch zo mijn twijfels.

Zoals anderen al aangaven zit een relatief eenvoudig RDBMS als MySQL bij veel hosting providers reeds bij de service inbegrepen. Bij niet al te grote data-volumes zijn hardware, kennis/manpower, en scalability dus geen probleem.

Heb je het wel over grote data volumes, en daarmee samenhangende scaling en performance issues, dan is vaak ook je applicatie wel wat complexer, en is het maar de vraag of het beperkte data model van de Amazon database (domains met daarin items met attribute/value pairs met een beperkte lengte) wel voldoet. Nog afgezien van dingen als read consistency en transacties, mis je bijvoorbeeld ook controle over backups/restores. Daarnaast heeft die Amazon database weer z'n eigen API, dus als je je applicatie eenmaal geschreven hebt, zit je min of meer aan Amazon vast, terwijl je bij een SQL/JDBC applicatie waarschijnlijk makkelijker naar een andere database-vendor kunt migreren, mocht dat nodig zijn. Wat query-performance betreft komt de roundtrip time tussen je applicatie-server en de Amazon database-server ook om de hoek kijken.

De prijs lijkt laag, ja. Dat wel.

Amazon zelf geeft overigens aan dat "SimpleDB is designed to store relatively small amounts of data".
Waarbij je mag hopen dat MySQL versie 5.x is anders kunnen we (en dat kunnen we nog steeds) aardig discussiëren over hoezeer een echte RDBMS MySQL is of niet.

Doe mij maar een eigen hosting waarbij ik voor klein grut en prototyping SQLite kan gebruiken, bij echt werk PostgreSQL kan gebruiken en bij nieuwe ideeën met CouchDB kan spelen. Gooi er een mooie laag tussen zoals SQLAlchemy en gebruik Python WSGI met wat andere zaken om REST of SOAP achtig spul voor elkaar te krijgen.
Geeft me meer controle wat uiteindelijk het totaalplaatje alleen maar ten goede komt.

En zoals tympie aangeeft als scaling een probleem wordt is je applicatie ondertussen wel gegroeid naar een niveau dat je er allang niet meer alleen voor staat danwel aan bezig bent.
Ik vind dit eigenlijk ook een wat vreemde ontwikkeling. Voor een euro per maand kun je bij verschillende webhosters al webruimte hebben + domein + volledig functionerende MySQL database die wel logisch geordend en snel is.

En hier betaal je dus voor een database waar je niet veel in kunt opslaan, die vrij traag is, niet goed functioneert ...

Gelukkig staat erbij dat het nog in Beta stadium verkeert, dus misschien wordt het in de toekomst nog eens wat.
Bedenk wel dat het gemiddel 1-euro pakket absoluut niet toestaat om enige hoeveelheid data op te slaan in je DB, en hetzelfde voor het veelvuldig afvuren van queries. Dat soort diensten zijn bedoeld voor een persoonlijke blog of iets van de trand. De systemen zijn niet gericht op hevig SQL gebruik.
Dat zal dit systeempje ook niet zijn... Het is bij wijze van spreken niet veel meer dan een tekstbestandje met een API.
klink leuk vraag me nog af hoe de beveiliging zal zijn.

wat ik zo lees over de backup blijf ik toch liever bij mijn orecal
Wat is orecal :?
Bedoel je niet Oracle ?
Ik weet niet welke versie van Oracle.. Maar daar pak je gelijk één van de duurste!
Hier gaat het om een "goedkoop en vereenvoudigd alternatief voor relationele databases"
Klinkt leuk, vraag me nog af hoe de snelheid zal zijn. Via soap e.d.?
denk niet dat soap zoveel restricties aan de snelheid moet leggen,
uiteindelijk is soap berichtwisseling via XML, en komt het er wss op neer dat dit xml bestand voornamelijk je query zal bevatten
de beperking van de snelheid ligt hier denk ik eerder aan de kwaliteit van de DB en de server; denk dat dit nog goed moet lukken als ze zeggen dat ze hun DB zo geoptimaliseerd hebben dat het voor het querien van strings ed sneller zou moeten gaan + geen transacties versnelt ook altijd wat (met de bekende nadelen natuurlijk)

volgens mij kan men van deze DB dus iets snels maken, maar met niet al te veel mogelijkheden
Als je zelf een servertje hebt hangen, lijkt het me slimmer om zelf een MSSQL 2005 licentie aan te schaffen (of een andere concurent natuurlijk) en die op die zelfde server, of een tweede servertje te hangen, zodat al het verkeer intern verloopt. Kost het je ook geen dataverkeer in je datacenter en geen kosten die achteraf misschien hoger uitvallen dan gedacht.

Daarnaast zijn er genoeg shared hosting providers waarbij je enkele terrabytes per maand mag transferen, je gebruik mag maken van MSSQL 2K5 (DB tot 500GB) voor nog geen $10 per maand, denk dat dat soort oplossingen waarschijnlijk ook al interessanter zijn.

[Reactie gewijzigd door CMG op 17 december 2007 17:26]

Als het bericht zegt 'Simpel en goedkoper alternatief' denk ik eerder aan MySQL of PostgreSQL :)

Verder is het inderdaad veel logischer om dit soort dingen op een lokale server te doen, daar heb je 100% gelijk in.
Geen transacties is een hele grote min. Overigens bieden veel hosters in hun pakket ook Mysql aan, ik vraag me af wat het nadeel is t.o.v. de amazone db. Voor databases beperkt in omvang "maar 4 gb" kun je zelfs een oracle XE omgiving inrichten.
Als je geen datastructuur hebt en alleen maar strings als datatype, is een gebrek aan transacties de laatste van je problemen.
Ik snap het nut hier niet helemaal van. Je krijgt een gare niet ontwikkelde database, je moet er toch wel aardig wat voor neerleggen, terwijl je voor een fractie ergens een mysql hosting pakketje kan krijgen. Of is deze DB speciaal voor Amazon dingen?
Inderdaad, wat is het voordeel hiervan op MySQL bijvoorbeeld?

Het enige voordeel wat ik kan bedenken is dat het veel makkelijker in gebruik zou kunnen zijn, maar aangezien er voorbeeldcode wordt bijgeleverd, zie ik dat nog niet gebeuren...

EDIT: De API kan daar nog enigzins invloed op uitoefenen, maar ik heb geen tijd om die nu door te nemen...ik hang hier al weer veels te lang rond :Y)

[Reactie gewijzigd door Muscrerior op 17 december 2007 18:34]

Waarschijnlijk is het niet moeilijker of makkelijker dan andere databaseoplossingen; voor bijna alle databasesystemen zijn er wel abstractielagen waardoor het voor de gebruiker niet eens meer uit maakt welke DB hij gebruikt - alles wat de programmeur hoeft te doen is save() in te vullen en klaar.

Ik vindt deze oplossing zelf nogal vreemd - aparte, non-standaard databaseoplossing, relatief gelimiteerde functionaliteit, etc. Ik denk ook niet dat professionals dit gaan gebruiken.
En wie kunnen er allemaal naar de data kijken? Amazon zit in de US, en daar zijn de privacyregeltjes practisch 180 graden anders dan hier...
Het hele idee van deze service is de 'missing link' van Amazon's processorkracht-service EC2 en hun opslagservice S3. Een EC2-node had geen persistente opslag waardoor er geen database mogelijk was, behalve dan flat text op S3 (en dat is dus niet echt netjes). Hier brengt SimpleDB verandering in zodat je een applicatie in principe helemaal op Amazon's platform kan draaien.
Leuk initiatief van de cd en boeken verkoper, maar ik vind het redelijk prijzig voor een 'simple db'. Zijn de prijzen voor dataverkeer en hardwaregebruik ineens gestegen ofzo de laatste maanden?? (...Ik ben niet altijd op de hoogte van de actuele hardwareprijzen, maar dataverkeer gaat volgens mij juist omlaag?)
Of is dit een prijsindicatie en kunnen bij hoge omzetten, ook prijsverlagingen verwacht worden?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True