Home / Companies / Couchbase / Blog / April 2018

April 2018 Summaries

17 posts from Couchbase

Filter
Month: Year:
Post Summaries Back to Blog
The post serves as an introduction to the technical architecture of a demo project involving a web application and a mobile/IoT application, both utilizing Couchbase technologies. The web application employs a typical setup with a Vue.js client and a Node.js server, which handles REST endpoints and communication with Couchbase Server, while incorporating Server Sent Events and Couchbase Eventing Service to push data to clients efficiently. On the mobile/IoT front, a Texas Instruments NFC patch is used to capture temperature data, which is stored in the Couchbase Lite database on a mobile app and synced via Couchbase Sync Gateway to the cloud. The post highlights the ease of schema changes and data synchronization, driven by the Couchbase ecosystem, and invites readers to explore further through a demo video, Couchbase Connect conferences, and various online resources.
Apr 25, 2018 425 words in the original blog post.
GraphQL is a query language that allows developers to specify exactly what data they need from an API or database, without having to create separate endpoints for each piece of data. It aims to solve the problem of accessing and mutating data via client-facing applications, which can be challenging with traditional RESTful APIs. By using GraphQL with Node.js and Couchbase, developers can create a simple and efficient way to query and mutate data, while also providing a more flexible and scalable solution for complex use cases. The key benefits of GraphQL include its ability to reduce the number of requests needed to retrieve data, improve performance, and enhance developer productivity. However, it's essential to remember that GraphQL is just a client-facing query language, not a backend database query language, and let Couchbase handle the heavy lifting where possible.
Apr 23, 2018 1,869 words in the original blog post.
This post assumes you've already created an Azure account, and guides through creating a Kubernetes cluster with an AKS managed service, installing a Couchbase cluster within it, and accessing the Couchbase cluster. The process begins by logging into the Azure portal and using Cloud Shell to create a resource group and AKS cluster. Next, the user installs the Couchbase Kubernetes operator and creates a secret and cluster configuration YAML files for deployment. After deploying the Couchbase cluster, the user can access it through kubectl commands or port forwarding. The post concludes with additional resources for further learning and support.
Apr 23, 2018 1,269 words in the original blog post.
Debugging distributed systems can be challenging, but the Event Sourcing/Event Logging pattern offers a solution by allowing developers to track changes over time and understand how entities reach certain states. This pattern involves capturing every change as an immutable event object, storing it sequentially, and enabling systems to be rebuilt by replaying these events. While tools like Service Meshes and OpenTracing aid in monitoring, Event Sourcing provides visibility into the state of entities and supports debugging, security, and business value. It encourages developers to prioritize events before structure, aligning with Domain-Driven Design principles. Implementations, like Couchbase Eventing, facilitate asynchronous event processing, and snapshotting helps avoid reprocessing when historical states are needed. Despite its advantages in debugging and state recovery, Event Sourcing is less intuitive for synchronous calls and requires careful management of breaking changes and private data within event logs. While not universally applicable, it proves invaluable for core services, enhancing reliability and reporting capabilities in microservices architectures.
Apr 19, 2018 1,963 words in the original blog post.
The Xcode Playground is an interactive environment that allows developers to write and execute Swift code immediately, making it a convenient way to explore the new querying API in Couchbase Mobile 2.0. The query API is designed using the Fluent API Design Pattern and uses method cascading to read, making it intuitive and easy to understand. Developers can use the Playground to test queries against pre-built databases without having to create a full-blown App project. The Playground pages provide a set of Query examples that exercise the query API, and developers can update these queries to explore other querying options. To use the Playground, developers must first build the CouchbaseLiteSwift framework by building the containing CBLTestBed.xcodeproj project. Once built, the developer can execute a playground and examine the results inline. The Playground is compatible with Swift 3.1+ and requires Xcode 8.3.3+.
Apr 17, 2018 1,755 words in the original blog post.
Couchbase Server 5.5 Beta introduces new enterprise-grade features, enhancing agility, performance, and manageability based on customer feedback. The release includes improvements to existing services, updated SDK components, and new services such as the Couchbase Eventing Service, which allows real-time processing of data changes, and the Couchbase Analytics Service, which facilitates real-time JSON data analysis without ETL processes. Notable enhancements include support for ANSI joins in N1QL for improved data modeling, aggregate optimization for faster query execution, index partitioning for scalability, and end-to-end data compression to reduce resource costs. Couchbase also focuses on ease of management with capabilities like Kubernetes deployment, auto-failover for high availability, security compliance with GDPR, and response time observability for performance monitoring. IPv6 support is added to accommodate the growing use of mobile and IoT devices, and additional improvements are anticipated in future updates.
Apr 16, 2018 1,619 words in the original blog post.
At the annual Couchbase Connect conference in Silicon Valley, a comprehensive demonstration showcased the varied capabilities of the Couchbase Data Platform, highlighting features such as data manipulation across multiple contexts, IoT data integration, cross-platform synchronization, and event-driven web UI. The demonstration emphasized the platform's flexibility with live schema changes, dynamic SQL queries, and advanced search functionalities, alongside large-scale analytics without ETL, and seamless cloud hosting and data replication. Excitement surrounds the project as its codebase is now open-source on GitHub, allowing users to explore and experiment with its components using provided sample data and setup scripts. Upcoming blog posts will delve into the architecture and implementation details, encouraging community engagement through issues, pull requests, and discussions on various platforms.
Apr 13, 2018 430 words in the original blog post.
Couchbase Mobile 2.0 has been released, offering an advanced NoSQL mobile data solution that enhances the Couchbase Data Platform's capabilities at the edge by securely managing and syncing data from any cloud to edge devices. This release incorporates significant features in Couchbase Lite, including simplified APIs for easier concurrency management, SQL queries for reduced development costs, automatic conflict resolution to streamline distributed app development, full-text search for responsive application experiences, and a new WebSocket-based replication protocol for faster data synchronization. Additionally, on-device replicas facilitate data recovery, while the Sync Gateway 2.0 introduces online upgrades, document lifecycle management, support for WebSocket-based replication, and a no-conflicts mode to reduce document revision overhead. These enhancements aim to improve performance, availability, and user experience across mobile applications, empowering developers to build optimized, customer-centric solutions with guaranteed data availability and low latency.
Apr 12, 2018 582 words in the original blog post.
The blog post discusses how to utilize the cURL function within the Couchbase Eventing service to make requests to a remote service, bypassing the need for N1QL, in a development environment. It starts by highlighting the developer preview status of the Eventing service and the changes expected in Couchbase Server 6.5. The post outlines the process of creating a simple Node.js API using Express and BodyParser, serving as a mock endpoint to receive and return data. The tutorial then guides readers to develop a basic Couchbase Function with cURL support, which triggers upon document creation or modification, sending data to the Node.js application. The example emphasizes the experimental nature of the feature, recommending it for development purposes only, and invites readers to explore more about Couchbase Eventing through its Developer Portal.
Apr 12, 2018 663 words in the original blog post.
Couchbase 5.5 introduces automatic hash partitioning for indexes, enhancing the capacity, queriability, and performance of database queries. This feature allows a single logical index to be partitioned into multiple physical index partitions across data nodes, utilizing more disk, memory, and CPU resources. Users create hash-partitioned indexes with simple syntax by adding a PARTITION BY clause in the index definition, which facilitates parallel processing and efficient query execution. The system supports complex queries, including those with equality predicates that benefit from partition pruning, and enhances performance through parallel scans and aggregations. This approach contrasts with manual partitioning methods in earlier versions, providing a more streamlined and efficient indexing process. Additionally, Couchbase's scale-out architecture supports a flexible number of partitions and nodes, optimizing resource allocation and improving total cost of ownership without necessitating a direct correlation between partition count and node count.
Apr 11, 2018 2,314 words in the original blog post.
Couchbase is focusing on enhancing the responsiveness of applications within distributed systems by introducing new tools and leveraging open-source projects like OpenTracing. With the increasing complexity and lower latency expectations of modern systems, identifying performance bottlenecks in distributed environments can be challenging. The company has developed Response Time Observability, a feature in Couchbase Server 5.5, which allows users to monitor response times against adjustable thresholds efficiently. This initiative builds on existing diagnostics and integrates with the evolving OpenTracing API to facilitate better system observability and collaboration with the broader tech community. Couchbase encourages feedback on these developments to continue improving its solutions.
Apr 10, 2018 724 words in the original blog post.
Couchbase has adopted OpenTracing as its tracing API for system observability in distributed systems, providing flexibility and vendor agnosticism. The integration is crucial for Couchbase SDKs, which utilize OpenTracing to create "Spans" that track the journey of requests including steps like request encoding, dispatch, and response decoding. The SDKs come with an out-of-the-box Tracer, the ThresholdLoggingTracer, which logs operations exceeding a set threshold, helping diagnose performance issues. Couchbase's observability enhancements include server-reported operation durations in responses, aiding in identifying slow operations. OpenTracing, now an incubating project under the Cloud Native Computing Foundation, is expected to evolve, with Couchbase's interface tracking its progress. Future discussions will delve into integrating with other tracing solutions like Jaeger and enhancing response time observability with the Couchbase Java SDK.
Apr 09, 2018 1,247 words in the original blog post.
The blog details the integration of Real Time Observability (RTO) with the Java SDK, highlighting enhancements that facilitate troubleshooting in distributed systems using OpenTracing as the foundational API. It explains the process of configuring the Java SDK 2.6.0, currently in preview, through a Maven repository, and discusses threshold logging, which allows for customization of log settings to identify slow operations. The text provides insights into handling TimeoutException by offering more detailed information about operation timeouts, thus improving diagnostic capabilities. Additionally, it emphasizes the versatility of the opentracing-api, which allows integration with various OpenTracing-compatible tracer implementations, such as Jaeger, enabling comprehensive monitoring and visualization of application performance. This enhancement aims to provide deeper insights into system performance issues, making it vendor-agnostic and adaptable with various Application Performance Monitoring tools.
Apr 09, 2018 1,771 words in the original blog post.
Couchbase Server 5.0 introduced X.509 certificate authentication as a remedy to the limitations of traditional password-based authentication mechanisms, particularly in high-scale applications with micro-service architectures. Certificate-based authentication allows users to securely access a server by exchanging digital certificates instead of usernames and passwords, thereby preventing common problems such as phishing, keystroke logging, and man-in-the-middle attacks. The X.509 public key infrastructure standard is used for certificate authentication, which offers stronger security through mutual authentication between the client and server during the TLS handshake. In Couchbase Server 5.5, this feature has been enhanced to support various services and interfaces, including N1QL, Indexing, XDCR, Search, and the Couchbase Web UI and REST endpoints. The configuration of certificate-based authentication requires specifying a path, prefix, and delimiter to extract the user name from the certificate, with a maximum limit of 10 path expressions and mandatory specification of all fields in the expression.
Apr 04, 2018 908 words in the original blog post.
The text discusses various strategies for ensuring data durability in Couchbase, a memory-first database system that prioritizes speed by initially handling interactions through its memory layer before asynchronously saving data to disk. The author, a Developer Advocate at Couchbase, addresses common concerns about data persistence in the event of node failures by presenting three scenarios: saving game states in an MMORPG, creating user accounts, and processing banking transactions. These scenarios demonstrate different levels of durability requirements, from relying on memory for frequent saves to ensuring data is persisted to disk and replicated across nodes for critical applications like banking. The text emphasizes the ability to configure durability settings using the Couchbase SDK, balancing between performance and data safety, and highlights the trade-off that higher durability demands can slow down operations.
Apr 03, 2018 690 words in the original blog post.
Couchbase N1QL is a query processing engine tailored for executing SQL-like queries on JSON data within distributed databases, leveraging a flexible data model. N1QL facilitates enhanced SQL capabilities for JSON, including efficient grouping and aggregation operations, particularly with Couchbase 5.5, which optimizes these processes by performing them at the indexer level. This enhancement reduces data transfer and disk I/O, leading to improved query response times, resource utilization, and scalability, thereby lowering the total cost of ownership. Index design is crucial for maximizing these benefits, with the capability to perform complex operations like COUNT, SUM, MIN, MAX, and AVG directly on the indexer. However, not every query benefits from this optimization, and understanding the right patterns is essential for effective index and query design. This feature, available in the Enterprise Edition, supports both Standard GSI and Memory Optimized GSI storage engines, and its performance improvements are particularly significant as data and query complexities increase.
Apr 03, 2018 4,802 words in the original blog post.
Couchbase has improved high availability for mission-critical deployments, reducing operator intervention by automatically detecting and failing over disk failures, multiple server failures, and entire server groups. Users can configure automatic failover settings in the Couchbase Web Console or via the CLI/REST API, including enabling auto-failover on disk issues, allowing up to three nodes to be failed over automatically without manual intervention, and configuring server group awareness with a minimum of three server groups required for successful failure. This enhancement aims to save operators time and energy while preventing data loss and ensuring data integrity and consistency.
Apr 02, 2018 1,050 words in the original blog post.