{"id":2300,"date":"2016-12-23T19:09:34","date_gmt":"2016-12-23T19:09:33","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2300"},"modified":"2025-06-13T20:52:49","modified_gmt":"2025-06-14T03:52:49","slug":"hg-simplify-your-life-with-couchbase-mobile","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/","title":{"rendered":"Simplify Your Life with Couchbase Mobile"},"content":{"rendered":"<p style=\"text-align: center;\"><img decoding=\"async\" align=\"middle\" alt=\"Simplicity is the Ultimate Sophistication - L. Da Vinci\" src=\"\/wp-content\/original-assets\/2016\/june\/hg-simplify-your-life-with-couchbase-mobile\/simplicity_quote.jpg\" style=\"max-width: 400px ! important;\" \/><\/p>\n<p style=\"text-align: center; font-size: 50%;\">Photo courtesy of <a href=\"https:\/\/flic.kr\/p\/8TpoKa\">Wesley Fryer<\/a> with permission under license <a href=\"https:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/\">CC BY-SA 2.0<\/a><\/p>\n<p>\u00a0<\/p>\n<p style=\"font-size: 120%;\"><strong>tl;dr<\/strong><\/p>\n<p style=\"font-size: 120%;\"><a href=\"https:\/\/developer.couchbase.com\/mobile?utm_source=blogs&#038;utm_medium=link&#038;utm_campaign=blogs\">Couchbase Mobile<\/a> is easy to use, works completely standalone, yet provides enterprise-class scaling when you need it. You should try it.<\/p>\n<div class=\"sect1 data-line-5\">\n<h2 id=\"truein_the_beginning\">In the beginning<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-7\">\n<p>This will be my second official post here at <a href=\"https:\/\/www.couchbase.com\/?utm_source=blogs&#038;utm_medium=link&#038;utm_campaign=blogs\">Couchbase<\/a>. I\u2019ll be blogging about more practical issues coming up. But for the moment, I\u2019m going to indulge in a little higher level discourse.<\/p>\n<\/div>\n<div class=\"paragraph data-line-9\">\n<p>I\u2019ve been programming for a long time. Over the last several years, I\u2019ve really gotten into mobile, but I\u2019ve worked in a lot of other areas.<\/p>\n<\/div>\n<p>Still, I\u2019d guess, before joining Couchbase, I had an average understanding of databases. Or, I should say, relational databases. Somehow achieving 6th normal form always seemed kind of cool, but I\u2019ve never actually needed to worry about it.<\/p>\n<div class=\"paragraph data-line-13\">\n<p>Even so, for development, relational databases (and hence, SQLite on mobile) seemed like the way to go.<\/p>\n<\/div>\n<div class=\"paragraph data-line-15\">\n<p>In this post, I\u2019m going to talk about why I\u2019ve changed my mind, and why I think you should too.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-17\">\n<h2>Setting the stage<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-19\">\n<p>Years ago, relational databases had pretty much won the day over other technologies. To the point that SQL, which is actually the name of a language, became almost synonymous with the term database.<\/p>\n<\/div>\n<div class=\"paragraph data-line-21\">\n<p>The world has changed a lot with the explosion of both the Web and mobile. This includes the kinds of data, and how it\u2019s accessed. Databases had to change, too. This gave birth to the NoSQL universe.<\/p>\n<\/div>\n<div class=\"paragraph data-line-23\">\n<p>I won\u2019t go into the larger picture of NoSQL. For reference, here are a few resources to help understand what NoSQL is<sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/NoSQL\">1<\/a><\/sup><sup><a href=\"https:\/\/www.3pillarglobal.com\/insights\/short-history-databases-rdbms-nosql-beyond\">2<\/a><\/sup>, how it compares to relational databases<sup><a href=\"https:\/\/martinfowler.com\/nosql.html\">3<\/a><\/sup><sup><a href=\"https:\/\/www.couchbase.com\/resources\/why-nosql\/\">4<\/a><\/sup>, and more advanced topics<sup><a href=\"https:\/\/highlyscalable.wordpress.com\/2012\/03\/01\/nosql-data-modeling-techniques\/\">5<\/a><\/sup>. Obviously, there\u2019s a lot more you could dig into.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-25\">\n<h2>Why Couchbase Mobile<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-27\">\n<p>Couchbase Mobile (or CBM) is a complete package, including a stand-alone embedded database. (The stand-alone part is actually called Couchbase Lite.) CBM\u2019s core architecture puts in squarely in the NoSQL camp.<\/p>\n<\/div>\n<div class=\"paragraph data-line-29\">\n<p>I want to focus on two particularly compelling reasons why I believe CBM should be your first choice for mobile apps: ease of use, and architectural flexibility. I\u2019ll talk more in terms of using CBM from the start of a project. The same points make a strong case for switching to CBM, even in a mature app.<\/p>\n<\/div>\n<div class=\"sect2 data-line-31\">\n<h3 id=\"trueease_of_use\">Ease of Use<\/h3>\n<div class=\"paragraph data-line-33\">\n<p>Both iOS and Android rely on SQLite for their standard databases. SQLite is an excellent open-source relational database. It\u2019s just not that easy to use.<\/p>\n<\/div>\n<div class=\"paragraph data-line-35\">\n<p>I went over to the Android developer portal to take a look at the current docs on using SQLite. Here\u2019s the beginning of the first paragraph after the intro:<\/p>\n<\/div>\n<div class=\"content\" style=\"margin-left: 40px;\"><span style=\"font-family:&apos;Courier New&apos;, Courier, monospace, sans-serif;\">One of the main principles of SQL databases is the schema: a formal declaration of how the database is organized.<\/span><\/div>\n<div class=\"paragraph data-line-40\">\n<p>And here\u2019s an example chunk of code for creating a database:<\/p>\n<\/div>\n<div class=\"listingblock data-line-42\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\">\r\n<code class=\"language-java\">public class DictionaryOpenHelper extends SQLiteOpenHelper {\r\n\r\n    private static final int DATABASE_VERSION = 2;\r\n    private static final String DICTIONARY_TABLE_NAME = \"dictionary\";\r\n    private static final String DICTIONARY_TABLE_CREATE =\r\n                \"CREATE TABLE \" + DICTIONARY_TABLE_NAME + \" (\" +\r\n                KEY_WORD + \" TEXT, \" +\r\n                KEY_DEFINITION + \" TEXT);\";\r\n\r\n    DictionaryOpenHelper(Context context) {\r\n        super(context, DATABASE_NAME, null, DATABASE_VERSION);\r\n    }\r\n\r\n    @Override\r\n    public void onCreate(SQLiteDatabase db) {\r\n        db.execSQL(DICTIONARY_TABLE_CREATE);\r\n    }\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-62\">\n<p>Fun, right?<\/p>\n<\/div>\n<div class=\"paragraph data-line-64\">\n<p>Now, don\u2019t get me wrong. Android is an awesome technology bundle. SQLite is best-in-class. But apps need to store data. And if I\u2019m trying to get a project off the ground, I don\u2019t want to spend my time thinking about schema design and stuffing SQL statements into strings.<\/p>\n<\/div>\n<div class=\"paragraph data-line-66\">\n<p>In contrast, this is roughly what it takes to start with Couchbase Mobile:<\/p>\n<\/div>\n<div class=\"listingblock data-line-68\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\">\r\n<code class=\"language-java\">    manager = new Manager(new AndroidContext(this), Manager.DEFAULT_OPTIONS);\r\n    database = manager.getDatabase(\"crud\");<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-72\">\n<p>And here\u2019s code (minus boilerplate stuff) to store some new data:<\/p>\n<\/div>\n<div class=\"listingblock data-line-74\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\">\r\n<code class=\"language-java\">    Document document = database.createDocument();\r\n    String documentId = document.getId();\r\n\r\n    Map<String, Object> profile = new HashMap<>();\r\n    profile.put(\"firstName\", \"Hod\");\r\n    profile.put(\"lastName\", \"Greeley\");\r\n\r\n    document.putProperties(profile);<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph data-line-84\">\n<p>That\u2019s not a completely fair comparison. The Google sample has some of the extra bits you need to do things properly. On the other hand, the Couchbase sample already has data going into the database!<\/p>\n<\/div>\n<div class=\"paragraph data-line-86\">\n<p>The real point has to do with how simple it all is. It\u2019s so much easier to map natural structures in the code (Java objects, in this case) to the constructs needed for the database. The ease of mapping allows CBM to take care of a lot of other details for you, too. The code snippet above isn\u2019t much more than it would take to to serialize a Java object to a file!<\/p>\n<\/div>\n<div class=\"paragraph data-line-88\">\n<p>Couchbase is a document database, meaning you store a complete, semi-structured object as the fundamental data chunk (as opposed to a row in a table). More precisely, Couchbase stores JSON objects. JSON is lightweight and flexible. It handles arrays. Objects can be extended without breaking anything. It\u2019s just nicer.<\/p>\n<\/div>\n<div class=\"paragraph data-line-90\">\n<p>Contrast that with trying to glue some inflexible tables together to map to an object of any complexity. Whether you do it yourself in SQL, or you pull in a library to help, it\u2019s not a pretty sight.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2 data-line-92\">\n<h3 id=\"trueflexibility\">Flexibility<\/h3>\n<div class=\"paragraph data-line-94\">\n<p>Couchbase Mobile gives you flexibility in two important ways, structure, and scalability.<\/p>\n<\/div>\n<div class=\"sect3 data-line-96\">\n<h4 id=\"truestructure\">Structure<\/h4>\n<div class=\"paragraph data-line-98\">\n<p>CBM is &#8220;schema-less&#8221;. That shows in the ease-of-use. In the code sample, you can see the document structure gets created implicitly. No need to define tables or name columns.<\/p>\n<\/div>\n<div class=\"paragraph data-line-100\">\n<p>Beyond that, schema-less means you can easily change your data structures without the migration headaches.<\/p>\n<\/div>\n<div class=\"paragraph data-line-102\">\n<p>To illustrate these points, imagine starting with a user profile that contains one phone number for each person. The two figures show how that might look as a SQLite table, and a JSON document.<\/p>\n<\/div>\n<div class=\"imageblock data-line-104\">\n<div class=\"content\" style=\"margin-left: 40px;\"><img decoding=\"async\" align=\"middle\" alt=\"Single relational table example\" src=\"\/wp-content\/original-assets\/2016\/june\/hg-simplify-your-life-with-couchbase-mobile\/rdb2.png\" \/><\/div>\n<\/div>\n<div class=\"imageblock data-line-105\">\n<div class=\"content\" style=\"margin-left: 40px;\"><img decoding=\"async\" align=\"middle\" alt=\"Simple JSON document\" src=\"\/wp-content\/original-assets\/2016\/june\/hg-simplify-your-life-with-couchbase-mobile\/json2.png\" \/><\/div>\n<div class=\"content\">Suppose the requirement changes. You want to make it possible to include more than one phone number. In the relational case, you\u2019d want to migrate to something like what\u2019s shown in this diagram:<\/div>\n<\/div>\n<div class=\"imageblock data-line-109\">\n<div class=\"content\" style=\"margin-left: 40px;\"><img decoding=\"async\" align=\"middle\" alt=\"Array data normalized into two tables\" src=\"\/wp-content\/original-assets\/2016\/june\/hg-simplify-your-life-with-couchbase-mobile\/rdb3.png\" \/><\/div>\n<\/div>\n<div class=\"paragraph data-line-111\">\n<p>Think for a minute about managing that transition. I\u2019m not even going to try to show how the code might look.<\/p>\n<\/div>\n<div class=\"paragraph data-line-113\">\n<p>By contrast, with JSON, you have this diagram:<\/p>\n<\/div>\n<div class=\"imageblock data-line-115\">\n<div class=\"content\" style=\"margin-left: 40px;\"><img decoding=\"async\" align=\"middle\" alt=\"JSON document containing an array\" src=\"\/wp-content\/original-assets\/2016\/june\/hg-simplify-your-life-with-couchbase-mobile\/json3.png\" \/><\/div>\n<\/div>\n<div class=\"paragraph data-line-117\">\n<p>All it takes is overwriting the phone number entry with an array. It\u2019s even easy to handle backward compatibility. You could simply check at runtime whether the phone entry was a single value or an array.<\/p>\n<\/div>\n<\/div>\n<div class=\"sect3 data-line-119\">\n<h4 id=\"truescalability\">Scalability<\/h4>\n<div class=\"paragraph data-line-121\">\n<p>Up to now, everything I\u2019ve talked about works entirely stand-alone on a device. That\u2019s powerful, and takes care of a lot of uses. Some mobile databases stop there. They work stand-alone only.<\/p>\n<\/div>\n<div class=\"paragraph data-line-123\">\n<p>If you\u2019re using a database, chances are some backend is at least a nice to have. Or, it could be critical to your success. Simply providing backups to make switching devices effortless comes to mind, if nothing else.<\/p>\n<\/div>\n<div class=\"paragraph data-line-125\">\n<p>Once you start needing a backend, you have to worry about several new challenges. This brings me to my last point about Couchbase Mobile. CBM has many features to address off-device use.<\/p>\n<\/div>\n<div class=\"paragraph data-line-127\">\n<p>Going back to what I find most compelling, the concern that stands out here is scalability. What\u2019s it going to cost to handle 10,000 users, or maybe even 100,000 or a million? Can your architecture even support off-device operations without a lot of rework?<\/p>\n<\/div>\n<div class=\"paragraph data-line-129\">\n<p>CBM includes something called Sync Gateway. Sync Gateway (SG) has some cool uses just in combination with Couchbase Lite. Where it really shines is as a replication endpoint for <a href=\"https:\/\/developer.couchbase.com\/server\/?utm_source=blogs&#038;utm_medium=link&#038;utm_campaign=blogs\">Couchbase Server<\/a>. Couchbase Server is an enterprise-ready, heavy-duty NoSQL package already used in major installations. You can read more about Sync Gateway <a href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/current\/get-started\/sync-gateway-overview\/index.html?utm_source=blogs&#038;utm_medium=link&#038;utm_campaign=blogs\">here<\/a>. \u00a0The following image gives an idea of how the components fit together.<\/p>\n<\/div>\n<div class=\"imageblock data-line-131\">\n<div class=\"content\" style=\"text-align: center;\"><img decoding=\"async\" align=\"middle\" alt=\"Three components: Couchbase Lite, Sync Gateway, and Couchbase Server\" src=\"\/wp-content\/original-assets\/2016\/june\/hg-simplify-your-life-with-couchbase-mobile\/s_cou_504_03-sync_gateway_r3.jpg\" \/><\/div>\n<\/div>\n<div class=\"paragraph data-line-133\">\n<p>Bottom line, CBM doesn\u2019t box you into a corner. Getting started is easy, and you can do it knowing CBM has the flexibility to handle your needs as you progress.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-135\">\n<h2 id=\"truewrapping_up\">Wrapping up<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-137\">\n<p>CBM is a modern, document-based, highly scalable NoSQL solution for mobile.<\/p>\n<\/div>\n<div class=\"ulist data-line-139\">\n<ul>\n<li>\n<p>CBM works great in isolation, on-device.<\/p>\n<\/li>\n<li>\n<p>Couchbase provides a complete back end, if you want it.<\/p>\n<\/li>\n<li>\n<p>The data format maps easily to native representations.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph data-line-143\">\n<p>Together, that gives you a solution that\u2019s easier to use for almost any project. Use it as a convenient store for user preferences. Use it to deliver a static bundle of data along with your app. Or, use it when you want to shoot for millions of active users. Enjoy the simplicity, and know you have the flexibility to adapt and scale as you need it.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1 data-line-145\">\n<h2 id=\"truepostscript\">Postscript<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph data-line-147\">\n<p>There are a lot of details behind the concepts I\u2019ve discussed. I\u2019ve included some references for further exploration, although I\u2019ve relied on many more for this post.<\/p>\n<\/div>\n<div class=\"paragraph data-line-149\">\n<p>Check out more resources on our <a href=\"https:\/\/developer.couchbase.com\/community?utm_source=blogs&#038;utm_medium=link&#038;utm_campaign=blogs\">developer portal<\/a> and follow us on Twitter <a href=\"https:\/\/twitter.com\/CouchbaseDev\">@CouchbaseDev<\/a>. You can post questions on our <a href=\"https:\/\/www.couchbase.com\/forums\/?utm_source=blogs&#038;utm_medium=link&#038;utm_campaign=blogs\">forums<\/a>. And we actively participate on <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\">Stack Overflow<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph data-line-151\">\n<p>You can follow me personally at <a href=\"https:\/\/twitter.com\/HodGreeley\">@HodGreeley<\/a><\/p>\n<\/div>\n<div class=\"paragraph data-line-154\">\n<p>I look forward to talking with you.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Photo courtesy of Wesley Fryer with permission under license CC BY-SA 2.0 \u00a0 tl;dr Couchbase Mobile is easy to use, works completely standalone, yet provides enterprise-class scaling when you need it. You should try it. In the beginning This will [&hellip;]<\/p>\n","protected":false},"author":73,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2370,1810],"tags":[],"ppma_author":[9042],"class_list":["post-2300","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-couchbase-mobile"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Simplify Your Life with Couchbase Mobile - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simplify Your Life with Couchbase Mobile\" \/>\n<meta property=\"og:description\" content=\"Photo courtesy of Wesley Fryer with permission under license CC BY-SA 2.0 \u00a0 tl;dr Couchbase Mobile is easy to use, works completely standalone, yet provides enterprise-class scaling when you need it. You should try it. In the beginning This will [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-23T19:09:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:52:49+00:00\" \/>\n<meta name=\"author\" content=\"Hod Greeley, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@HodGreeley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hod Greeley, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\"},\"author\":{\"name\":\"Hod Greeley, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4\"},\"headline\":\"Simplify Your Life with Couchbase Mobile\",\"datePublished\":\"2016-12-23T19:09:33+00:00\",\"dateModified\":\"2025-06-14T03:52:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\"},\"wordCount\":1380,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Android\",\"Couchbase Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\",\"name\":\"Simplify Your Life with Couchbase Mobile - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-12-23T19:09:33+00:00\",\"dateModified\":\"2025-06-14T03:52:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simplify Your Life with Couchbase Mobile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4\",\"name\":\"Hod Greeley, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/21eb69cb5d4a401fb23b149e4f4e9e87\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g\",\"caption\":\"Hod Greeley, Developer Advocate, Couchbase\"},\"description\":\"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University.\",\"sameAs\":[\"https:\/\/hod.greeley.org\/blog\",\"https:\/\/x.com\/HodGreeley\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/hod-greeley\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Simplify Your Life with Couchbase Mobile - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/","og_locale":"en_US","og_type":"article","og_title":"Simplify Your Life with Couchbase Mobile","og_description":"Photo courtesy of Wesley Fryer with permission under license CC BY-SA 2.0 \u00a0 tl;dr Couchbase Mobile is easy to use, works completely standalone, yet provides enterprise-class scaling when you need it. You should try it. In the beginning This will [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-12-23T19:09:33+00:00","article_modified_time":"2025-06-14T03:52:49+00:00","author":"Hod Greeley, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@HodGreeley","twitter_misc":{"Written by":"Hod Greeley, Developer Advocate, Couchbase","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/"},"author":{"name":"Hod Greeley, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4"},"headline":"Simplify Your Life with Couchbase Mobile","datePublished":"2016-12-23T19:09:33+00:00","dateModified":"2025-06-14T03:52:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/"},"wordCount":1380,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Android","Couchbase Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/","url":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/","name":"Simplify Your Life with Couchbase Mobile - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-12-23T19:09:33+00:00","dateModified":"2025-06-14T03:52:49+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/hg-simplify-your-life-with-couchbase-mobile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Simplify Your Life with Couchbase Mobile"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/9b62593c8a13531e53d52fcd5aabbca4","name":"Hod Greeley, Developer Advocate, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/21eb69cb5d4a401fb23b149e4f4e9e87","url":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","caption":"Hod Greeley, Developer Advocate, Couchbase"},"description":"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University.","sameAs":["https:\/\/hod.greeley.org\/blog","https:\/\/x.com\/HodGreeley"],"url":"https:\/\/www.couchbase.com\/blog\/author\/hod-greeley\/"}]}},"authors":[{"term_id":9042,"user_id":73,"is_guest":0,"slug":"hod-greeley","display_name":"Hod Greeley, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/52d0018695c0ced0d1c68cf64a6195c81dbac03dce5983f98eb209e7c84350df?s=96&d=mm&r=g","author_category":"","last_name":"Greeley","first_name":"Hod","job_title":"","user_url":"https:\/\/hod.greeley.org\/blog","description":"Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/73"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2300"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2300\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2300"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}