AMT Blog

Exploring Mangoose, A Node.js object-document mapper [Video Tutorial]

Mongoose is an open source MongoDB object modeling tool designed to work in an asynchronous environment. It can be used on top of the MongoDB Node.js driver to make database access simpler.

Check out this interesting Node Tutorial in which Pedro Teixeira explains how to use the new Mongoose API.

The documentation and a number of presentations provide more detailed information about the driver and how to use it. The driver itself is available from its Github repository and is licensed under the Apache Licence 2.0.

Read more…

Like what we post? Share your thoughts on the comments below. If you wish to get regular updates on what we post, do subscribe to our RSS Feed

Filed under: NoSQL Node.js Tutorials

MySQL Cluster 7.2 with NoSQL Features is Out!

MySQL Cluster 7.2 was released to public by Oracle on Wednesday, Feb 15, 2012. "MySQL Cluster 7.2 demonstrates Oracle’s investment in further strengthening MySQL’s position as the leading Web database,” said Tomas Ulin, vice president of MySQL Engineering, Oracle. “The performance and flexibility enhancements in MySQL Cluster 7.2 provide users with a solid foundation for their mission-critical Web workloads, blending the best of SQL and NoSQL technologies to reduce risk, cost and complexity.”

MySQL Cluster 7.2 release added improvements in autosharding the data and replication conflict resolution in addition to some scalability and reliability improvements that allow replication at different data centers. There was also some work in fixing issues with replicating user privileges and making the clusters easier to manage and administer. As well as some work done to certify and integrate the cluster nodes into the Oracle VM infrastructure to take advantage of increased elastic scalability for cloud deployments. MySQL Cluster 7.2 in now certified to run on Oracle Linux and Oracle Solaris.

Regarding the 70x improvement in complex query speed ("mind blowing numbers"), Tomas mentioned that this was accomplished with what they call "push down joins" or "distributed joins" which sound a lot like a MapReduce specific use case to do a distributed join on a heavily sharded relational database. The joins happen to the actual data nodes. They are done in parallel on all of the nodes, and then one node combines them. The parallels of the join is where the speed comes in. Tomas claims billion queries per minute with an 8 node cluster and near linear scalability in join processing by adding new nodes.

Read more

Don't like to miss out any of our posts? Do

Filed under: Database MYSQL NoSQL

Amazon DynamoDB – a Highly Scalable and Fast NoSQL Database in the Cloud

Image representing Amazon Web Services as depi...

Amazon recently introduced DynamoDB, a new Cloud based NoSQL database service designed to maintain predictably high performance and to be highly cost efficient for workloads of any scale, from the smallest to the largest internet-scale applications. 

Customers can now launch a new Amazon DynamoDB database table, scale up or down their request capacity for the table without downtime or performance degradation, and gain visibility into resource utilization and performance metrics, with a few clicks on the AWS Management Console. In short, DynamoDB is ‘a fully managed NoSQL database’ that can be scaled up or down according to demand. 

Amazon DynamoDB is based on the principles of Dynamo, a progenitor of NoSQL, and brings the power of the cloud to the NoSQL database world. It offers customers high-availability, reliability, and incremental scalability, with no limits on dataset size or request throughput for a given table. And it is fast – it runs on the latest in solid-state drive (SSD) technology and incorporates numerous other optimizations to deliver low latency at any scale. It also allows customers to offload the administrative burdens of operating and scaling distributed databases so they don't have to worry about hardware provisioning, configuration, replication, software patching, partitioning, or cluster scaling.

Check out a video explaining the basic concept:

Read more…

Like what we post? Share your thoughts on the comments below. If you wish to get regular updates on what we post, do subscribe to our RSS Feed

How to use MongoDB on Mono [Slides] | MonoSpace

Mono (software)

 

In late 2010 10gen started working on their own driver to officially support using MongoDB from .NET on Windows. The community quickly began submitting patches to make it work in Mono. Now the driver works pretty well in Mono.

In his presentation at the Monospace 2011, Justin Dearing provides you a short introduction to MongoDB, and focuses on interacting with it in Mono via the official 10gen driver. Techniques for handling business logic in application code, such as LINQ are discussed. This is a very code centric talk.


Click here to download:
Monospace2011-JustinDearing-UsingMongoDBonMono.pdf (656 KB)
(download)
 

About the conference

Monospace provides developers a unique look at running their applications across all the platforms using Microsoft's .NET Framework by focusing on the Mono framework and open source .NET technologies.

Read more…

Don't like to miss out any of our posts? Do  

Filed under: Conference Mono NoSQL

MongoDB on AWS

Image representing Amazon Web Services as depi...

Amazon Web Services (AWS) is a flexible, cost-effective, easy-to-use cloud computing platform. NoSQL software packages are widely installed in the AWS cloud. Running your own NoSQL data store on Amazon Elastic Cloud Compute (Amazon EC2) is a great scenario for users whose application requires the special benefits of structured storage software optimized for high-performance operations on large datasets.

This whitepaper written by Miles Ward of AWS will assist you in understanding one of the most common NoSQL options available with the AWS cloud computing platform—the open source application MongoDB. It gives you an overview of general best practices that apply to all major NoSQL options, and also examines important MongoDB implementation characteristics such as performance, durability, and security. 

Click here to download:
AWS_NoSQL_MongoDB.pdf (849 KB)
(download)

Read more…

Are you looking for trusted consultant for deploying your applications to AWS Cloud? Contact us for more information.

Stig – A fresh Open Source NoSQL Database for Large Social Networks

Stig is a fresh open source, non-relational, distributed graph database being developed by Tagged.

This NoSQL Database claims to make it simple for programmers to store and access huge amounts of connected data in a way that keeps consistency, while still being fast and scalable.

It’s a highly scalable graph database, ideal for large social networks, real-time services, and cloud applications.

Click here to download:
stig.pdf (200 KB)
(download)

Read more…

Like what we post? share your thoughts on the comments below.  If you wish to get regular updates on what we post, do subscribe to 

 

Filed under: Database NoSQL Open Source

Bringing Riak to the Mobile Platform [video]

The consistency model used by Riak is intended to continue operating well even while nodes in your Riak cluster are down or unreachable, a property which also makes it a excellent model for mobile data. In this presentation, Kresten Krab Thorup presents Riak Mobile, a component that can be embedded into your iOS or Android application to make it a full Riak replication-aware peer. Typical usages for Riak Mobile is as a mobile content distribution platform using one-way sync; or with two-way sync to also push updated data back to your Riak cluster when the network is "eventually" available. 

 
Here Kresten enlighten us how Riak Mobile works.  The client-part of Riak Mobile does not need an Erlang VM.  Rather, it comes as either a Java or an Objective-C component using SQLite for on-device storage, and thus integrates well into the native development environments. The server-part is an OTP application running with Riak. Riak Mobile uses a flow-based algorithm with Merkle trees and vector clocks optimized specially for providing efficient incremental synchronization for slow, high-latency network conditions. 

Read more…

Filed under: Conference Mobile Web NoSQL

TouchDB - A slim Database engine for your Mobile App

TouchDB is a slim CouchDB-compatible database engine suitable for embedding into your mobile or desktop apps. Think of it this way: If CouchDB is MySQL, then TouchDB is SQLite.

By being "CouchDB-compatible" it means that TouchDB can replicate with CouchDB and Couchbase Server, and that its data model and high-level design are "Couch-like" enough to make it familiar to CouchDB/Couchbase developers. Its API will not be identical and it may not support some CouchDB features (like user accounts) that aren't useful in mobile apps. Its implementation is not based on CouchDB's (it's not even written in Erlang.) It does support replication to and from CouchDB.

TouchDB is "suitable for embedding into mobile apps", as it meets the following requirements:

  • Small code size; ideally less than 256kbytes. (Code size is important to mobile apps, which are often downloaded over cell networks.)
  • Quick startup time on relatively-slow CPUs; ideally 100ms or less.
  • Low memory usage with typical mobile data-sets. The expectation is the number of documents will not be huge, although there may be sizable multimedia attachments.
  • "Good enough" performance with these CPUs and data-sets.

And by "mobile apps" TouchDB Creator says he's focusing on iOS and Android, although there's no reason we couldn't extend this to other platforms like Windows Phone. And it's not limited to mobile OSs -- the initial Objective-C implementation runs on Mac OS as well.

Requirements:

  • It's written in Objective-C.
  • Xcode 4.2 is required to build it.
  • Runtime system requirements are iOS 5+, or Mac OS X 10.7.2+.

TouchDB is available under the Apache License 2.0.

Read more…

 If you wish to get regular updates on what we post, do subscribe to 

Filed under: Database Mobile Web NoSQL

How To Prevent Server-Side JavaScript Injection

Brian Sullivan talks about how backend vulnerabilities are exploited with techniques learned from attacking Javascript frontends. Here he discusses security vulnerabilities that could come up when software developers create applications or modules used with JavaScript-based server applications such as NoSQL database engines or Node.js web servers. Brian explains how an attacker may take full control over the server, by exploiting these vulnerabilities through uploading and executing arbitrary files on the server machine.

Brian concludes the paper with defenses against SSJS injection which are similar to SQL injection defenses: 

  • Avoid creation of “ad-hoc” JavaScript commands by concatenating script with user input. 
  • Always validate user input used in SSJS commands with regular expressions.
  • Avoid use of the JavaScript eval command, especially when parsing JSON input, use a safer alternative such as JSON.parse.

Click here to download:
BH_US_11_Sullivan_Server_Side_WP.pdf (135 KB)
(download)

Read more…

Like what we post? share your thoughts on the comments below.  If you wish to get regular updates on what we post, do subscribe to 

What makes NoSQL Popular among the Enterprise Development Community?

(download)

NoSQL databases are gaining ground among enterprise developers in North America - but they are even more popular in the Asia-Pacific Region.

The most recent Evan Data survey of 400 developers in North America found that 56 percent of corporate enterprise developers are already using NoSQL, and 63 percent plan to use it in the next two years. This is higher than in the overall developer population where only 43 percent use or expect to use NoSQL.

Taken together with other data from Evans Data's Global Development Survey series it paints a rosy outlook for NoSQL. NoSQL is rising in EMEA, where 39% of developers report plans for its and in APAC more than a quarter of the general developer population report using NoSQL today and 68% have future plans.

The following are highlighted findings from the North American Development Survey:

  • Although Mac OS is now more popular than Linux as a development desktop environment, Windows continues to dominate with over 80% using some version of Windows as their primary platform.
  • Almost 40% of North American developers are now working on apps for a wireless device.
  • Eighty percent of North American developers expect to be writing multi-threaded apps in the next two years

Answers to a question about HTML5 indicated that its adoption varies by developer segment - 47% of the developers working within corporate workgroups already use the standard compared to 33% overall and around 25% of developers do not plan to use it:

Read more…

Filed under: HTML 5 NoSQL
13
To Posterous, Love Metalab