Home / Companies / Couchbase / Blog / May 2017

May 2017 Summaries

18 posts from Couchbase

Filter
Month: Year:
Post Summaries Back to Blog
Couchbase Server 5.0 introduces improved authentication and authorization features, including role-based access control (RBAC), which enables more secure management of users and buckets. The new feature allows administrators to create users with specific permissions to access particular buckets, replacing the old password-based approach. To use these features, developers must create a user and assign roles, then authenticate using a `PasswordAuthenticator` object before performing operations on the cluster. Authentication is successful when credentials are correct, but authorization checks are also applied to prevent unauthorized actions, such as executing N1QL queries. The new RBAC features make Couchbase a leader in document database security, offering more robust protection for sensitive data.
May 31, 2017 833 words in the original blog post.
André Vellori, a Technical Lead at Fleetmatics (acquired by Verizon), is Couchbase's newest Community Champion. He works on the Work mobile app, which aims to provide a work tool for fieldworkers to help them do their job better. As a data-driven and technology-savvy individual, André ensures that the best technologies and software designs are used in his project, and helps his team learn and deliver solutions faster. He values collaboration, learning from different personalities and backgrounds, and is always looking ahead to anticipate new challenges. In his spare time, André enjoys photography, traveling, playing guitar, and working on technology projects like Raspberry Pi and Arduino. He chose Couchbase due to its unique features, such as lightweight design, ease of integration with Sync Gateway, and API simplicity. With Couchbase implementation in their product, Fleetmatics is taking a step towards full Sync Gateway implementation, which will simplify development and focus on user features. André finds Couchbase's document-oriented approach easy to integrate into projects with minimal impact, and its seamless integration with OS frameworks of choice. He also appreciates the community-driven aspect of Couchbase and looks forward to contributing to Dublin's growth as a local interest group.
May 25, 2017 1,075 words in the original blog post.
Conflicts can occur in replication environments where multiple writers update a document concurrently, leading to inconsistencies. Couchbase Mobile uses Multi Version Concurrency Control (MVCC) to handle conflicts by assigning each document a unique revision ID and creating a Revision Tree. The Revision Tree represents the history of changes made to a document, with each revision being assigned a new revision ID. When a conflict occurs, Couchbase Mobile picks a "winner" among the conflicting revisions using specific criteria, such as the undeleted leaf revision on the longest revision branch. However, it is ultimately the application's responsibility to resolve conflicts by choosing between the picked winner and other conflicting revisions, potentially merging changes or deleting non-winning branches. The application must also ensure that unwanted leaf revisions are tombstoned to prevent database size issues.
May 25, 2017 1,472 words in the original blog post.
Rafael Ugolini, a senior software developer at Famoco, shares his expertise on creating a modular Couchbase image using Docker. The image does not require web UI interaction to have a ready-to-go database, utilizing Python and JavaScript for the setup process. The Dockerfile is created with specific configurations such as memory quotas, services, credentials, cluster options, and an entrypoint script that initializes Couchbase Server. The script then configures the node, joins a cluster if specified, sets up memory, services, user credentials, and finally attaches to the Couchbase entrypoint. Rafael provides examples of running a single node or adding multiple nodes to a cluster with detailed instructions and environment variables.
May 24, 2017 1,427 words in the original blog post.
Couchbase has introduced a new category of database, the Engagement Database, designed to enhance customer experience by addressing the limitations of traditional databases in supporting dynamic interactions at scale. This new database category is part of the Couchbase Data Platform, which leverages powerful NoSQL technology to provide a comprehensive solution for managing customer interactions across multiple channels and devices. The platform's capabilities are showcased in the latest Beta release of Couchbase Server 5.0 and the preview of Couchbase Mobile 2.0, both of which offer improved developer agility, query performance, and cluster management. Key features include built-in full-text search, in-memory data management, enhanced security options, and robust support for mobile applications. These innovations aim to simplify application development and optimize data management, ultimately allowing businesses to create richer and more responsive customer engagement applications. Couchbase Connect in New York serves as the launch platform for these advancements, with further feedback and insights expected from industry experts and attendees.
May 23, 2017 650 words in the original blog post.
Couchbase Server 5.0 Beta introduces the world's first Engagement Database, leveraging advanced NoSQL technology to provide unmatched performance, agility, and manageability for enterprises aiming to transform their digital businesses. Key features include integrated full-text search, a secure role-based access control platform, and powerful indexing and querying capabilities, such as adaptive indexes and N1QL CURL for external data integration. This release also offers enhancements in performance, scalability, and high availability, including ephemeral buckets and a fast-failover mechanism, alongside improved management tools like a modern web console and visual query plan feature. Although intended only for development purposes, this beta version encourages user feedback to refine the final product, offering enterprises an opportunity to explore its potential impact on digital engagement.
May 22, 2017 1,191 words in the original blog post.
Couchbase Mobile 2.0 is a significant release that reimagines the developer experience with a cross-platform common core, new simplified API, and automated conflict resolution that can be customized. The database core engine has been rewritten in C/C++ to reduce its size and improve manageability, allowing for easy porting to low-fidelity devices. This version introduces N1QL queries and full-text search capabilities to mobile, as well as a fluent API for N1QL queries with two styles: builder and fluent. The new replication protocol is designed to be fast, efficient, easier to implement, and symmetrical between client/server, but it's incompatible with CouchDB-based databases like PouchDB and Cloudant. Automated conflict management has been introduced, allowing developers to tailor the conflict resolution for their specific needs. The release also includes a simplified API, improved performance, and support for cross-database joins.
May 22, 2017 674 words in the original blog post.
You can synchronize captured images between devices and platforms in a NativeScript with Angular mobile application by utilizing Couchbase Mobile's Sync Gateway and optionally Couchbase Server. The process involves configuring Sync Gateway for replication, adding the logic for synchronizing image data, and implementing continuous synchronization through push and pull replicators. This setup allows for the storage of synchronized images in a remote database, enabling data exchange between devices and platforms.
May 18, 2017 1,088 words in the original blog post.
The latest episode of the NoSQL Database Podcast, featuring Kirill Gavrylyuk from Microsoft's Azure team, explores Microsoft DocumentDB, now known as Azure Cosmos DB, and its role as a NoSQL database in the cloud. Available for free on platforms like iTunes and Pocket Casts, the episode provides insights into document databases and encourages listeners to follow Kirill on Twitter for further information. Additionally, the podcast invites engagement through Twitter for feedback or suggestions and highlights resources such as the Couchbase Developer Portal for those interested in learning about other NoSQL databases like Couchbase.
May 16, 2017 147 words in the original blog post.
MongoDB and Couchbase Server, both NoSQL document databases, have similar data modeling capabilities despite using BSON and JSON formats, respectively. Their data models can be structured using either embedded or normalized (referred in Couchbase) approaches, allowing for complex documents with nested objects and arrays, or smaller, separate documents that enhance performance and minimize data duplication. While MongoDB uses Collections and ObjectIds for document identification, Couchbase employs meta properties and type identifiers. The key difference lies in querying capabilities; Couchbase facilitates easier data retrieval through N1QL, enabling server-side joins of referred documents, whereas MongoDB requires application-level management of relationships. Overall, transitioning between the two databases is straightforward, as data modeling concepts are largely transferable.
May 11, 2017 1,021 words in the original blog post.
A developer is using Couchbase Server and Sync Gateway to create a development environment for mobile applications. The developer uses Docker and docker-compose to automate the setup process. The environment includes two containers: one for Couchbase Server and one for Sync Gateway. The developer configures the containers by creating custom Dockerfiles and scripts, such as `configure-node.sh` and `sync-gateway.json`. These scripts configure the Couchbase cluster, create an ecommerce bucket, and set up authentication for the Sync Gateway. The developer then generates a random dataset using FakeIt and pushes it to the Couchbase Server through the Sync Gateway REST API. Finally, the developer creates a VueJS application that connects to the Sync Gateway and pulls data from the Couchbase Server, demonstrating how the development environment can be used to build mobile applications.
May 10, 2017 2,206 words in the original blog post.
Last month's tutorial on containerizing a web application with Couchbase Server, titled "Deploy a Node.js with Couchbase Web Application as Docker Containers," has been complemented by a detailed video walkthrough to ensure a comprehensive understanding of the process. This video guide, applicable to Mac, Linux, or Windows systems running Docker, aims to eliminate any uncertainties in containerizing a Node.js application. For those looking to containerize a Couchbase Server NoSQL cluster, a previous tutorial, "Using Couchbase with Docker and Deploying a Containerized NoSQL Cluster," is recommended. Additionally, the Couchbase Developer Portal offers extensive resources on Couchbase, Docker, and various development SDKs, while posts from Nic Raboy provide further insights into working with Docker and Node.js.
May 09, 2017 156 words in the original blog post.
Zijun Yang, a System Architect at Paclane in Peking, China, is this week's Couchbase Community Champion. He designs system architecture and researches new technologies, including react, react native, Couchbase, IoT, ETL tools, web security, and more. Zijun values learning from the Couchbase community and contributing to it. Based in Sinkiang, China, he works remotely and enjoys spending time with his daughters and researching internet products. He chose Couchbase for its ability to change schema frequently and extend the database easily, particularly with features like big data support, mobile offline support, XDCR, IoT support, and full-text search. Zijun uses N1QL extensively, finding it powerful, flexible, and easy to use. He has accomplished significant work using Couchbase Mobile, PhoneGap, query data by Couchbase view for web applications, and integrating with Elasticsearch. His wishes for Couchbase include more events in China, more introduction about N1QL and the Couchbase data platform, and increased integration in ETL and big data ecology. Zijun enjoys reading books like "The Fifth Discipline" by Peter M. Senge and "Sapiens: A Brief History of Humankind" by Yuval Noah Harari.
May 04, 2017 466 words in the original blog post.
Docker has become increasingly popular, prompting the creation of new content focused on containerizing Couchbase. The author has noticed existing tutorials on using Couchbase with Docker and has decided to innovate by producing a video tutorial that guides users through deploying a Couchbase NoSQL database cluster. For those interested in further expanding their knowledge, the author suggests an article on deploying a containerized Node.js web application with Couchbase and recommends visiting the Couchbase Developer Portal for additional resources on Docker, Couchbase Server, and development SDKs.
May 04, 2017 124 words in the original blog post.
The post provides a detailed guide on integrating Couchbase Lite as an embedded database within an iOS app and its extension, specifically focusing on a Today Extension, which acts as a widget in the Notification Center. It uses Couchbase Mobile v1.4, though the content is applicable to version 2.0 as well. The guide assumes familiarity with Swift and Couchbase Lite integration, offering a practical example through a demo Task List app where tasks can be managed directly from the widget without opening the app. The key to enabling data sharing between the app and its extension lies in utilizing a Shared Container via an App Group, ensuring both components can access the local database. Essential setup steps include configuring App Group capabilities and managing database paths through a singleton class in Swift, highlighting how tasks are stored, accessed, and updated across both the container app and the widget. The author also encourages exploring the sample code for further insight and hints at future posts expanding the focus to include cloud synchronization.
May 03, 2017 1,423 words in the original blog post.
A significant project at Couchbase involved developing a sample application for demonstration at Couchbase Connect, aimed at showcasing the new features of Couchbase Server through a live keynote demo. The initiative was a collaborative effort designed to be both user-friendly and intricate enough to highlight Couchbase's capabilities. The GitTalent sample application was made publicly available by project lead Laurent Doguin, who also authored a comprehensive book detailing its design and code, available in AsciiDoc format on GitHub. Although the specific demo repository remains private for security purposes, the project, including the author's contributions in Angular and Java, can be accessed in the GitTalent repository. The sessions from Couchbase Connect 2016 are also available for public viewing, providing further insights into the application and its development.
May 03, 2017 361 words in the original blog post.
This summary provides an overview of deploying a Golang web application alongside Couchbase Server as Docker containers, leveraging environment variables to define connection information at container runtime. The process involves creating a Dockerfile for the Golang image and another for the custom Couchbase Server image, which includes a configuration script to set up the database. The images are then built and deployed using various commands, including manual deployment with environment variables, deployment with Docker Compose, and continuous deployment using Jenkins. This tutorial aims to demonstrate how to create a microservice that can be easily distributed by turning an application into a Docker image.
May 02, 2017 1,678 words in the original blog post.
Couchbase Server 5.0 introduces significant updates to its authentication features, shifting from bucket-based passwords to a more secure role-based access control system. This change necessitates minor alterations in client connection codes across various SDKs such as Java, .NET, Node.js, PHP, Python, Go, and C. The new model requires users to set up roles and access rights for specific users who can connect with passwords, eliminating passwordless buckets except for those migrated from earlier versions. Users can manage authentication through two main approaches: including username and password in the connection parameters or utilizing the Authenticator class to handle multiple buckets more efficiently. The Authenticator method decouples authentication from the Bucket URI, allowing for a more streamlined connection to clusters, and examples are provided for different programming languages. These enhancements are part of the pre-production server code, and users are encouraged to update their SDK libraries to leverage these new features.
May 01, 2017 905 words in the original blog post.