[ANN] Asynchronous Java Driver 1.0.0 Released

140 views
Skip to first unread message

Robert Moore

unread,
Sep 16, 2012, 11:01:58 AM9/16/12
to mongod...@googlegroups.com
Version 1.0.0 of the Asynchronous Java Driver is now available:

This version is source and binary compatible with the 0.9.9 version of the driver.

Changes since the 0.9.9 release include
  • Performance
    • For the 1.0.0 release the driver was tested against the 10gen supported legacy driver using the YCSB (Yahoo! Cloud Server Benchmark). The results of the benchmark show clearly that the MongoDB Asynchronous Java Driver has lower latency, lower variability in latency and higher throughput across the benchmark scenarios. The complete analysis, results and raw data are available.
    • As part of the performance testing with the YCSB several bottlenecks in the driver were identified and corrected. Of particular note is the replacement of the internal blocking queues with a custom implementation inspired by the Disruptor project. This change significantly reduced the latency for inter-thread messaging.
  • Functional Changes
    • Updated the driver to exclude replica set members not in a primary or secondary mode and to avoid members that fail to respond to a replica-set status command.
  • Usability
    • Replaced the Document.queryPath(...) methods with the Document.find(...) and Document.findFirst(...) methods. The Document.find(...) and Document.findFirst(...) methods provide the ability to easily extract a nested elements (or sub-documents) from any level of a document. See the Getting Started guide for examples using the Document.find(...) and Document.findFirst(...) methods.
    • A new Document.get(Class,String) method has been added to allow easier type safe access to first level elements of a Document.
    • Several methods have been added to both the MongoDatabase and MongoCollection interfaces for common administrative functions. These include:
    • MongoDatabase
      • createCollection(...) - Create a collection.
      • createCappedCollection(...) - Create a capped collection.
      • getProfilingStatus() / setProfilingStatus(...) - Manipulate the database's profiling level.
      • stats() - Return the database statistics.
    • MongoCollection
      • explain(...) - Ask the server to explain how a query will be executed.
      • Find.Builder.setHint(...) - Provide the server a hint on what index to use in executing a query.
      • isCapped() - Return if the collection is capped or not.
      • stats() - Return the collection statistics.
      • updateOptions(...) - Set options on the collection. Currently only 'usePowerOf2Sizes' is supported by the MongoDB server.
      • validate(...) - Validate a collection.
  • Documentation

As always comments and questions are welcome.

Rob.

Paul Grinchenko

unread,
Sep 17, 2012, 4:08:38 PM9/17/12
to mongod...@googlegroups.com
Hi Rob,

Thanks a lot for posting this. I like your API more than standard provided Java Driver from 10gen. We will start using it in our next set of applications.

Rob Moore

unread,
Sep 18, 2012, 9:04:16 PM9/18/12
to mongod...@googlegroups.com

Paul,

Thanks! Always nice to get positive feedback.

If you run into any problems or have other feedback, positive, negative or just suggestions be sure to let me know.

We have a few things already planned for the 1.1 release that should prove, if they work, to be very interesting but we are always interested in making sure the driver meets the needs of its users first.

Rob.

jeff....@10gen.com

unread,
Sep 21, 2012, 5:52:05 PM9/21/12
to info-...@10gen.com, mongod...@googlegroups.com, robert.a...@gmail.com
Congratulations on the release.  I'd like to take a closer look, but it's a bit difficult without source code.  Is there a possibility of making the code public?


Regards,
Jeff
--
You received this message because you are subscribed to the Google
Groups "mongodb-user" group.
To post to this group, send email to mongod...@googlegroups.com
To unsubscribe from this group, send email to
mongodb-user+unsubscribe@googlegroups.com
See also the IRC channel -- freenode.net#mongodb
Reply all
Reply to author
Forward
0 new messages