Skip to main content

Home/ Groups/ HealthcareMetadata
Malcolm McRoberts

Google Groups - 0 views

  • There are several common strategies for document versioning. The strategy you select will depend on the trade-offs you want to make. Please note that MongoDB does not have any support for triggers. So a few of these methods will require that you be able to do multiple writes.
  • === Strategy 1: embed history === In theory, you can embed the history of a document inside of the document itself. This can even be done atomically.
  • === Strategy 2: write history to separate collection ===
  • ...2 more annotations...
  • ----- Both strategies can be enhanced by storing only the diffs.
  • Embedding:  + atomic change (especially with findAndModify)  - can result in large documents, may break the 16MB limit  - probably have to enhance code to avoid returning full hist when not necessary Separate collection:  + easier to write queries  - not atomic, needs two operations and Mongo doesn't have transactions  - more storage space (extra indexes on original docs) Hopefully that gets you working in the right direction.
Malcolm McRoberts

zopyx.versioning - A MongoDB based versioning solution for Zope and Plone - ZOPYX Ltd. ... - 0 views

  • zopyx.versioning - A MongoDB based versioning solution for Zope and Plone
Malcolm McRoberts

Document Databases Compared: CouchDB, MongoDB, RavenDB * myNoSQL - 0 views

  • Versioning is an extra-feature that is not fundamental to document databases. MongoDB and CouchDB do not support it by default, but there are different solutions available
  • Versioning is not supported by either MongoDB and CouchDB. MVCC should not be confused for document versioning
  • Built-in Versioning: Most document databases support versioning of documents with the flip of a switch.
Malcolm McRoberts

Vermongo · thiloplanz/v7files Wiki · GitHub - 0 views

  • Placing a document under version control is very unintrusive. Vermongo only adds a version number property (an int32 called _version) to the document. It does not touch any other fields. In particular, it also does not place any requirements on the contents of the _id field. Older revisions are stored in a separate collection that shadows the original collection. They are MongoDB documents themselves, and can be queried.
  • When creating, updating, or deleting documents, you just have to follow the Vermongo protocol outlined here. There will be (at least) a Java library to facilitate this. The only major downside is that documents have to be updated one-by-one (no bulk updates possible), and that there is some overhead in retrieving and copying the old version. Query operations can just proceed as normal.
  • After inserting into collection 'foo' a document { a=>"x"}, updating it to { a: "y"}, then to { a: "z" }, and finally deleting it, the shadow collection will contain the following (the original collection will not contain the document anymore, as it has been deleted): > db.foo.vermongo.find() { "_id" : { "_id" : ObjectId("4c78da..."), "_version" : 1 }, "a" : "x", "_version" : 1 } { "_id" : { "_id" : ObjectId("4c78da..."), "_version" : 2 }, "a" : "y", "_version" : 2 } { "_id" : { "_id" : ObjectId("4c78da..."), "_version" : 3 }, "a" : "z", "_version" : 3 } { "_id" : { "_id" : ObjectId("4c78da..."), "_version" : 4 }, "_version" : "deleted:4" }
Malcolm McRoberts

Home · thiloplanz/v7files Wiki · GitHub - 0 views

  • Installation There has not been a release build yet. You will have to compile v7files from its source code, using Maven.
Malcolm McRoberts

design - Best Practice for CouchDB Document Versioning - Stack Overflow - 0 views

  • It's more typical to keep older versions of your document inside your current revision (either as JSON or, often, as an attachment). For the JSON case; { "_id":"foo", "_rev":"3-fsfsfsdf", "foo":"current value of foo", "history": { "2": { "foo":"previous version of foo" }, "1": { "foo":"initial version of foo" } } }
  • t's often simpler to push the full old version of the document into an attachment instead. This pattern is common enough that CouchDB ships with a library, jquery.couch.js, that implements it (in the saveDoc(doc) function).
Malcolm McRoberts

Ways to implement data versioning in MongoDB - Stack Overflow - 0 views

  • Ways to implement data versioning in MongoDB
  • will be used infrequently will be used all at once to present it in a "time machine" fashion there won't be more versions than few hundred to a single record. history won't expire.
  • My personal approach would be to store diffs. Because the display of these diffs is really a special action, I would put the diffs in a different "history" collection.
  • ...1 more annotation...
  • There is a versioning scheme called "Vermongo" which addresses some aspects which haven't been dealt with in the other replies.
Malcolm McRoberts

nosql - Modeling friend of friend relationships in MongoDB - Stack Overflow - 0 views

  • Modeling friend of friend relationships in MongoDB
  • "When a document's stored value for a index key field is an array, MongoDB indexes each element of the array. See the Multikeys page for more information." so to find all of "alex"'s friends I can just do: db.user.find( { 'friends' : '4e77bb3b8a3e000000004f7a'});
Malcolm McRoberts

Model Referenced One-to-Many Relationships Between Documents - MongoDB Manual 2.4.1 - 0 views

  • Otherwise, if the number of books per publisher is unbounded, this data model would lead to mutable, growing arrays, as in the following example:
Malcolm McRoberts

Data Modeling Considerations for MongoDB Applications - MongoDB Manual 2.4.1 - 0 views

  • Embedding¶ To de-normalize data, store two related pieces of data in a single document. Operations within a document are less expensive for the server than operations that involve multiple documents. In general, use embedded data models when: you have “contains” relationships between entities. See Model Embedded One-to-One Relationships Between Documents. you have one-to-many relationships where the “many” objects always appear with or are viewed in the context of their parent documents. See Model Embedded One-to-Many Relationships Between Documents. Embedding provides the following benefits: generally better performance for read operations. the ability to request and retrieve related data in a single database operation.
  • Referencing¶ To normalize data, store references between two documents to indicate a relationship between the data represented in each document. In general, use normalized data models: when embedding would result in duplication of data but would not provide sufficient read performance advantages to outweigh the implications of the duplication. to represent more complex many-to-many relationships. to model large hierarchical data sets. See Model Tree Structures in MongoDB. Referencing provides more flexibility than embedding; however, to resolve the references, client-side applications must issue follow-up queries. In other words, using references requires more roundtrips to the server.
Malcolm McRoberts

MongoDB Licensing - MongoDB.org 2.4.2 - 0 views

  • we promise that your client application which uses the database is a separate work. To facilitate this, the mongodb.org supported drivers (the part you link with your application) are released under Apache license, which is copyleft free.
  • MongoDB Database Server and Tools¶ Free Software Foundation’s GNU AGPL v3.0. Commercial licenses are also available from 10gen, including free evaluation licenses. Drivers¶ mongodb.org supported drivers: Apache License v2.0. Third parties have created drivers too; licenses will vary there.
Malcolm McRoberts

MongoDB Subscriptions | 10gen - 0 views

  • How to Buy Contact sales to learn more about MongoDB Commercial Subscriptions, and how to buy. MongoDB Subscriptions Basic Standard Enterprise Edition MongoDB MongoDB MongoDB Enterprise SLA 4 Hours 1 Hour 30 Minutes Support 9am – 9pm local, M – F 24 x 7 x 365 24 x 7 x 365 License AGPL Commercial Commercial Emergency Patches Not Included Included Included Price $2,500 / Server / Year $5,000 / Server / Year $7,500 / Server / Year
  • Commercial License. Enterprises with restrictions around the AGPL license or those interested in OEM applications may prefer a standard commercial license, which is included in the MongoDB Standard and Enterprise Subscriptions.
  • MongoDB Enterprise is tested and certified on Red Hat
  • ...3 more annotations...
  • advanced security, purpose-built monitoring
  • MongoDB Subscriptions provide 24x7 access to support. Customers can ask 10gen's MongoDB experts an unlimited number of questions at any time of day.
  • Only data-bearing (i.e., mongod) nodes require server licenses
Malcolm McRoberts

The MongoDB NoSQL Database Blog, The AGPL - 0 views

  • To say this another way: if you modify the core database source code, the goal is that you have to contribute those modifications back to the community.
Malcolm McRoberts

Play Framework: Binding and Validating Objects and Rendering JSON Output | Packt Publis... - 0 views

  • How to do it... Create your entities first. This example consists of a user, an address, and a SuperSecretData entity: @Entitypublic class User extends Model { @SerializedName("userLogin") public String login; @NoJsonExport public String password; @ManyToOne public Address address; @OneToOne public SuperSecretData secrets; public String toString() { return id + "/" + login; }}@Entitypublic class Address extends Model { public String street; public String city; public String zip;}@Entitypublic class SuperSecretData extends Model { public String secret = "foo";}
Malcolm McRoberts

jsonengine - Simple and ultra-scalable JSON storage on Google App Engine. No server-sid... - 0 views

  • Supports Google account and OpenID authentication and access control on each JSON document. Provides admin console for setting the access control.
Malcolm McRoberts

Security and Authentication - MongoDB - 0 views

  • MongoDB includes a basic authentication scheme that works with single server deployments and replica sets. However, the built-in authentication does not work with sharding, so for this and other cases, we recommend running the database in a secure environment.
  • The current version of Mongo supports only very basic security.  One authenticates a username and password in the context of a particular database.  Once authenticated, a normal user has full read and write access to the database in question while a read only user only has read access.
« First ‹ Previous 221 - 240 of 245 Next ›
Showing 20 items per page