Home / Companies / Couchbase / Blog / September 2017

September 2017 Summaries

18 posts from Couchbase

Filter
Month: Year:
Post Summaries Back to Blog
This tutorial provides a step-by-step guide on configuring Kubernetes in Amazon Web Services (AWS) to seamlessly connect to a Couchbase cluster running in EC2 on AWS. The approach allows for easy configuration of microservices with a single URL, making changes in infrastructure without reconfiguring every microservice, supporting cluster swapping during upgrades, and easily pointing the same URL in development or QA Kubernetes clusters at different Couchbase clusters. The tutorial assumes that the user has a Kubernetes cluster running in AWS and a Couchbase cluster running on EC2 instances in the same region. It provides detailed instructions on setting up VPC Peering, creating an Application Load Balancer for bootstrapping, and using DNS to simplify the URL for accessing the Couchbase cluster.
Sep 27, 2017 1,423 words in the original blog post.
Couchbase 5.0 introduces Plasma, a new storage engine that significantly enhances the performance of Global Secondary Indexes by utilizing modern hardware capabilities and a memory-first design. This re-engineered system improves upon its predecessor, ForestDB, by handling up to 100,000 mutations per second, reducing memory and disk usage, and dramatically lowering latencies and increasing throughput. In particular, Plasma's performance in secondary index scans shows latencies reduced by more than threefold and throughput improved by eightfold, with even more dramatic improvements in scenarios requiring synchronization of all mutations. The updates also lead to reduced write amplification, thereby extending SSD lifespan. As a result, Couchbase 5.0 offers users an opportunity to experience vastly improved index performance in real-world applications, with automatic index recreation for customers upgrading from ForestDB.
Sep 22, 2017 358 words in the original blog post.
The comparison between Couchbase and Oracle date-time formats highlights the differences in handling dates and times in relational and NoSQL databases. Oracle offers various date-time data types like DATE and TIMESTAMP, which can be formatted using parameters such as NLS_DATE_FORMAT, providing flexibility in how dates are represented and manipulated. Couchbase, on the other hand, uses ISO 8601 formats where dates and times are stored as strings, with functions available for manipulation, emphasizing ease and consistency over flexibility. Oracle supports up to 9-digit precision for fractional seconds, whereas Couchbase limits to 3 digits. Both systems handle time zone considerations differently; Oracle uses specific data types for time zones, while Couchbase represents time zones as UTC offsets. N1QL in Couchbase supports additional date components like MILLENNIUM and QUARTER, which are not available in Oracle. The article illustrates how Couchbase offers a simple and flexible approach to date handling, albeit with more restrictions on format customization compared to Oracle's parameterized flexibility.
Sep 22, 2017 2,439 words in the original blog post.
Distributed session management is essential for scaling ASP.NET Core applications, especially when using sticky sessions. Using Couchbase to store session state can help alleviate these issues by providing a flexible and scalable solution. The Couchbase.Extensions.Session library provides a simple way to integrate distributed session management into ASP.NET Core applications. By configuring the session provider with AddCouchbaseSession, developers can access their session data through HttpContext.Session, allowing them to write and read values from the distributed cache. With this extension, developers can take advantage of Couchbase's memory-first architecture and flexible scaling capabilities to build more scalable web applications.
Sep 20, 2017 1,101 words in the original blog post.
Couchbase Connect Europe 2017 in Paris is an eagerly anticipated event featuring presentations from Couchbase Experts and Champions, offering attendees the opportunity to hear new product announcements and directly engage with experts from the Couchbase Data Platform. The event serves as a networking hub for enthusiasts and professionals to connect with Couchbase engineers and the broader developer community. Highlights include sessions from Aaron Benton, who will discuss rapid data modeling and testing techniques using Couchbase at Shop.com, and Dave Starling, who will explore the use of video production with Full Text Search and machine learning at Seenit. Additionally, Abbas Ahmed from Rentalcars.com will present on how Couchbase caching has enhanced online performance, addressing scalability challenges in the travel and leisure industry.
Sep 19, 2017 343 words in the original blog post.
Azure Functions can now reuse state between function calls by utilizing static members, and the use of Lazy Initialization with `Lazy<T>` provides a thread-safe solution to this issue. The key takeaway is that while using a static member may not be suitable for all scenarios due to potential issues with object persistence, it can be used effectively when combined with lazy initialization techniques like `Lazy<T>`. This approach allows developers to save state between function calls without incurring the overhead of reinitializing expensive operations such as creating a Couchbase cluster.
Sep 15, 2017 551 words in the original blog post.
PowerShell is a versatile scripting environment available on Windows, Linux, and within Azure, offering an effective alternative to tools like Postman or Fiddler for automating HTTP requests. This article demonstrates how PowerShell can be used to automate the creation and management of Full Text Search (FTS) indexes in Couchbase Server using its REST API, providing a detailed comparison between using curl and PowerShell's `Invoke-WebRequest` for these tasks. While curl commands can be directly utilized, PowerShell offers a different syntax, necessitating specific adjustments, especially for headers and authentication, where Base64 encoding is required. The article also notes the practicalities of automating FTS index creation, highlighting the benefits of using PowerShell for these repetitive tasks in deployment and version control settings, and it provides a foundational script example for users to adopt and adapt.
Sep 14, 2017 997 words in the original blog post.
Onwuka Gideon, a seasoned freelance full stack developer, discusses the implementation of pagination in applications handling extensive document collections, focusing on using N1QL in conjunction with PHP. N1QL is a query language that extends SQL for JSON, allowing developers to query and manipulate data with native framework integration. The article guides readers through setting up a PHP environment to pull, paginate, and display data from a Couchbase database. It includes detailed steps like creating a Couchbase bucket and index, cloning a GitHub repository containing essential PHP files, and writing logic for inserting and displaying comments. The pagination is achieved using N1QL's LIMIT and OFFSET clauses to control the number of results per query and skip data based on the current page number. The tutorial concludes with the successful implementation of pagination, offering a complete app available on GitHub for further exploration.
Sep 13, 2017 1,162 words in the original blog post.
The code uses Go's concurrency features to perform subdocument mutations in parallel, allowing for nearly the same performance as using bulk operators. By utilizing goroutines and a WaitGroup, the application can process multiple document IDs concurrently, reducing the number of network calls needed. Although performing hundreds of network calls may seem inefficient, this approach leverages the benefits of Go's concurrency capabilities to achieve similar performance to using bulk operators, while also providing more flexibility and control over the mutation process.
Sep 12, 2017 1,238 words in the original blog post.
Dependency injection is a design pattern that makes coding easier and saves time, especially when working with complex dependencies. Couchbase.Extensions.DependencyInjection is a library that allows developers to use Couchbase clusters and buckets within the ASP.NET Core dependency injection framework. The library provides a simple way to inject Couchbase objects into classes, making it easier to write tests and maintain code. The author of this blog post explores how to set up Couchbase, create a bucket, and use dependency injection with Couchbase.Extensions. They also discuss how to inject complex services and use named buckets, which can simplify the process of injecting dependencies. The library is designed to work with ASP.NET Core 2.2 projects and has been updated to support .NET Core 2.2.
Sep 08, 2017 1,590 words in the original blog post.
The consequences of inaction will be severe, including poor customer experience and satisfaction, impacting revenues and ultimately leading to failure if a downward spiral is not halted. Businesses that fail to transform risk facing extinction or being absorbed by competitors within five years. Careers are also at risk if digital projects don't meet expectations, with 73% of decision makers stating they could be dismissed due to project failures. However, recognizing the limitations of legacy databases and adopting modern tools built for engagement and customer interaction can help organizations avoid these consequences and thrive in a rapidly changing digital landscape.
Sep 07, 2017 477 words in the original blog post.
Couchbase's Database Change Protocol (DCP) allows the database to "rewind history" and replay all changes that have occurred since its inception, enabling it to resolve any internal state. This superpower can be exploited to do extra cool stuff with documents, such as replicating data to completely different databases, using queue-based approaches, and integrating with other microservices. DCP can also be used for time series/revision analysis, treating every item as a time series, which enables entire families of interesting downstream data analytics. The protocol is built into the core of Couchbase's storage architecture and provides a basis for features like cross-datacenter replication (XDCR). A DCP client can be written to accept DCP messages and process them, allowing developers to tap into this stream of events and perform various operations such as notifying marketing teams when a beer hits 5 stars. However, it's essential to consider gotchas like filtering based on keys, handling single points in time, and flow control techniques. With DCP, Couchbase becomes easier and more flexible to integrate with other systems, enabling developers to build powerful downstream tools and unlock new analytics capabilities.
Sep 07, 2017 2,003 words in the original blog post.
A recent video tutorial expands on the process of hashing password data using Golang before storing it in Couchbase, emphasizing the importance of safeguarding sensitive user information. The tutorial provides a step-by-step guide on utilizing the BCrypt library with the Go programming language alongside the Go SDK for Couchbase Server, offering practical insights for developers interested in implementing secure data storage practices. For those seeking additional details on using Couchbase Server or the Go SDK, the Couchbase Developer Portal is recommended as a comprehensive resource.
Sep 07, 2017 93 words in the original blog post.
N1QL is a query language designed for JSON data, providing developers and enterprises with an expressive and comprehensive toolset for querying, transforming, and manipulating JSON, modeled after SQL. It supports a full range of SQL-like operations including SELECT, INSERT, UPDATE, DELETE, and MERGE, complemented by a variety of expressions and operators. While familiarity with SQL can facilitate learning N1QL, the language requires some additional understanding due to the flexible nature of JSON. To aid this learning process, an interactive tutorial is available, allowing users to modify queries and observe results in real-time, with sections covering N1QL basics, joins, and case studies in e-commerce and social gaming. The tutorial emphasizes a hands-on approach, providing a read-only environment that enables experimentation without risk, and offers features such as query plan explanations to deepen understanding of query execution.
Sep 07, 2017 235 words in the original blog post.
Distributed caching using Couchbase Server can significantly enhance the performance and scalability of ASP.NET Core applications, particularly in server farm or cloud environments. The blog post provides a comprehensive guide on implementing distributed caching through the Couchbase.Extensions.Caching middleware, which is in beta release. It outlines the setup process of a Couchbase Server cluster, including creating a caching bucket and setting up necessary permissions. The integration into an ASP.NET Core project involves minor modifications to the Startup class and the use of the AddDistributedCouchbaseCache extension method. The post also demonstrates caching and retrieving strings and objects using IDistributedCache, with examples of managing cache expiration through DistributedCacheEntryOptions. Additionally, it emphasizes the importance of resource cleanup using the ApplicationStopped event and discusses the security implications of using an outdated Couchbase Server version without password protection.
Sep 06, 2017 1,603 words in the original blog post.
Ratnopam Chakrabarti is a seasoned solution architect at Ericsson, specializing in AWS and cloud computing technologies like Couchbase, Docker, and AWS. He designs and develops customized software solutions for various industries, including connected cars, smart homes, and IoT domains. In his free time, Ratnopam enjoys learning new things, writing blogs, attending meetups and conferences, and reading about other people's work to improve his skills. His experience with Couchbase includes using it as a back-end NoSQL database in applications built on frameworks like Spring Boot and Node.js, leveraging features such as N1QL querying, Full Text Search, and caching capabilities. He believes that Couchbase is particularly well-suited for IoT-related use cases due to its ability to handle both cloud and device-side data. Ratnopam wishes for a cloud-hosted SaaS offering of Couchbase Server, improved data compression, and continued growth of the developer community through seminars, meetups, and hackathon events.
Sep 05, 2017 572 words in the original blog post.
The text provides a detailed guide on setting up a continuous deployment pipeline for a Node.js application using CircleCI, illustrating how to deploy a GitHub-hosted project to a remote server every time a push is made. It begins by discussing the challenges of setting up Jenkins and the advantages of using hosted solutions like CircleCI. The guide outlines the necessary steps, including preparing the server for SSH connections, creating an SSH key, setting up the project with the necessary CircleCI configuration files, and designing workflow steps that involve using Docker to run tests and deploy the application. It highlights the ease of managing schema changes when using NoSQL databases, as opposed to the complexities of SQL databases, and concludes by suggesting alternatives like Jenkins for those interested in hosting their own solutions.
Sep 05, 2017 1,170 words in the original blog post.
In August, the author participated in the Midwest JS conference in Minneapolis, where they presented on developing full stack applications using the JavaScript stack. The session focused on using Node.js with Couchbase to create a RESTful API and Angular for the client-facing layer, demonstrating how to develop an application that manages video game consoles and games. The article provides a detailed walkthrough of setting up the backend with Node.js, Express, and Couchbase, including five API endpoints for performing CRUD operations and handling relationships between data. It also covers creating a frontend using the Ionic Framework with Angular, explaining how to create, display, and manage games and consoles through a user-friendly interface. The piece concludes by encouraging readers to explore further resources on Node.js and Couchbase and inviting feedback for future presentations.
Sep 01, 2017 3,438 words in the original blog post.