Database Reference
In-Depth Information
das zu erreichen, erzeugt ein kurzes Populations-Skript in Ruby die Daten
für ein gigantisches Hotel mit 10.000 Zimmern.
Ruby ist (falls Sie nicht mit ihr vertraut sind) eine beliebte Allzweck-Program-
miersprache. Sie ist sehr nützlich, um schnell Skripten auf einfache und gut
lesbare Weise zu entwickeln. Mehr zu Ruby erfahren Sie in
Programming Ru-
by: The Pragmatic Programmer's Guide
von Dave Thomas und Andy Hunt
sowie online.
4
Sie benötigen außerdem den Ruby-Paketmanager namens RubyGems.
5
So-
bald Ruby und RubyGems zur Verfügung stehen, installieren Sie den Riak-
Treiber.
6
Sie könnten außerdem den json-Treiber benötigen.
$
gem install riak-client json
Jedes Zimmer unseres Hotels verfügt über eine zufällig gewählte Kapazität
von ein bis acht Personen und einen zufälligen Typ wie Einzelzimmer oder
Suite.
riak/hotel.rb
# Erzeugt viele Zimmer mit zufälligen Typen und Kapazitäten
require
'rubygems'
require
'riak'
STYLES = %w{single double queen king suite}
client = Riak::Client.new(:http
_
port => 8091)
bucket = client.bucket(
'rooms'
)
# 100 Stockwerke für das Gebäude erzeugen
for
floor
in
1..100
current
_
rooms
_
block = floor
*
100
puts
"Making rooms
#{current
_
rooms
_
block}
-
#{current
_
rooms
_
block + 100}
"
# 100 Zimmer auf jedem Stockwerk (ein riesiges Hotel!)
for
room
in
1...100
# Eindeutige Zimmernummer als Schlüssel erzeugen
ro = Riak::RObject.new(bucket, (current
_
rooms
_
block + room))
# Zimmertyp zufällig wählen und Kapazität ergänzen
style = STYLES[rand(STYLES.length)]
capacity = rand(8) + 1
# Zimmerinformationen als JSON-Wert speichern
ro.content
_
type =
"application/json"
ro.data = {
'style'
=> style,
'capacity'
=> capacity}
ro.store
end
end
$
ruby hotel.rb