Database Reference
In-Depth Information
data structures of the Cassandra implementation. This issue combined with
a somewhat unorthodox data model (for the time) makes it very hard to get
started with Cassandra. With the newest versions of Cassandra and version
three of the Cassandra Query Language (CQL), these problems have mostly
been corrected. Combined with other changes around the distribution of
data in the cluster, Cassandra has become a much more pleasant
environment to use and maintain. It is also quite fast, especially when
coupledwithSolidStateDrive(SSD)-equippedservers.Itisnotquiteasfast
as Redis because it may have to retrieve data from disk, but it is not that
much slower.
MongoDB is really a first choice only when the data to be stored has a
rich structure—for example, when streaming geographical data. MongoDB
offers utilities and indexing to support geographical information system
(GIS) data more efficient than either Redis or Cassandra. Other options
in this space tend to be based on traditional relational stores with added
geographical indexing, so MongoDB can provide a higher-performance
alternative. Foursquare, which deals almost exclusively in geographical
data, is an early and well-known user of MongoDB for this reason.
Delivery
Delivery of almost every application is going to be some sort of web
application, at least for its first iteration. A native application, especially
for mobile devices, certainly delivers a much more rich and satisfying
experience for the user. It will also require a skillset that is not necessarily
immediately available to most organizations. If mobile developers are
available, by all means, use them. A good tablet or phone interface to a
streamingapplicationismuchmorecompellingthanawebinterface,thanks
to the native experience.
That said, the native mobile experience is still going to need a server that
can deliver the data. The best way to do this is to implement application
programming interfaces (APIs) that support SSE that can be used by both
the web applications and native applications. The reason to choose SSE over
Web Sockets, despite the fact that Web Sockets has slightly better support
across different browsers, is its HTTP basis compared to Web Socket's
non-HTTP interface. SSE is simply an HTTP connection, which allows for
the use of “polyfills” that can simulate the SSE on older browsers. This
is much more difficult, and sometimes impossible, with Web Sockets. By
Search WWH ::




Custom Search