|
|
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Page 5 of 5
Find a spot where you can afford to play without reservations and begin to tinker with a few of these key-value datastores.
Cutting-edge experiment No. 6: Finding connections with graph databases
The idea of a database was well defined in the last century. You define a table with a list of columns that hold particular
data, then insert rows into the database until it's full. The columns might hold integers, decimal numbers, or strings, but
that's about all of the flexibility you get.
The graph databases like Neo4j are a new twist on the idea. You still stick your numbers and letters in columns, but now you can create pointers between the rows that form networks. If you're storing a social network, the database is ready to record who is friends with whom.
This has always been possible with regular databases by giving each row a key and storing the pointers as keys in a column. The power of the graph database appears when you start running queries. The graph databases can unpack the network and start searching the network using well-honed algorithms for search. It doesn't need to do complex linking and joining like relational databases. If you want to count how many people are friends of friends of friends, the query engine is there for you. If you want test how many friendship hops there are between two people, the engine can search the network and find the answer.
Neo4J is distributed by Neo Technologies in three different levels and several licenses. All the searching power is available in the community edition that is distributed under GPL 3.0. The Advanced version and the Enterprise version add more tools for monitoring the throughput, synchronizing a cluster, and backing up the database. They are distributed with the Affero GPL license for experimentation and open source projects, but many businesses will be most interested in the commercial licenses that include support and avoid the requirement to share your code.
The trade-off comes in the collection of features. The graph databases are not as elaborate or as well-developed as the more general cousins. They are experts at graph algorithms but don't offer the same depth and breadth of traditional features. Choosing a graph database means forgoing the others.
Cutting-edge experiment No. 7: Simplifying structure with Go
Over the years, languages seem to grow hairy and large. What began as a simple idea turned into an overweight omnibus as everyone
added their own features and thoughts. Then it's time to create something entirely new and prune the beast.
Go is one such language created by language experts at Google. The syntax will be largely familar to C and Java programmers although it is significantly simpler. The code is compiled using defined types but can be modified when running. Garbage collection routines handle all of the memory allocation. There's also a very lightweight mechanism for organizing concurrent methods so you can write code that might run in parallel.
Google distributes the compiler and runtime stack for Unix, Linux, Mac OS X, and Windows under a very liberal open source license. A number of companies are experimenting with the language, and Google says it is using the code in some production environments. An interactive tour with links to the code is available at tour.golang.org.
The best argument for cleaning house with a language like Go is the same reason that people reorganize companies or redesign an office. Simplifying the structure makes it easier for everyone to work together because there's less time spent just trying to understand and more time spent achieving. Go's devotees praise the langauge for allowing them to work with others to deliver a clean, functioning product. The simplicity minimizes the communication and synchronization hassles of working together.
This article, "7 cutting-edge programming experiments worth trying," originally appeared at InfoWorld.com. Follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.