DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

The Latest Coding Topics

article thumbnail
Route53 With a Private Hosted Zone
A few easy steps to get familiar with Route53 using Private Hosted Zone in AWS. Route53 is an AWS service that provides a mapping between domain names and IP addresses.
June 3, 2021
by Giridhar LV
· 10,965 Views · 2 Likes
article thumbnail
Optimize the Execution Time of Spring Integration Tests
This article covers a multitude of areas on real project data, including time-consuming data, optimization, and integration. Read below for a full tutorial!
June 2, 2021
by shaoyang liu
· 9,340 Views · 2 Likes
article thumbnail
Deep Links With Angular Routing and i18n in Prod Mode
With Angular i18n the different directories for the language build need to be supported. This article shows how to support language-independent deep linking.
June 2, 2021
by Sven Loesekann
· 13,718 Views · 3 Likes
article thumbnail
Spring Boot Tutorial Video: Bill of Materials
In the video below, we take a closer look at what the Bill of Materials (BOM) is in Spring boot. Let's get started!
June 2, 2021
by Ram N
· 6,100 Views · 6 Likes
article thumbnail
Creating a Web Chat with SignalR, Web Sockets, Angular and Magic
With good abstractions everything is simple. Changing gears on your car probably involves thousands of moving parts, but still it's dead simple to achieve
June 2, 2021
by Thomas Hansen DZone Core CORE
· 11,356 Views · 2 Likes
article thumbnail
What Are Hypothetical Indexes in PostgreSQL?
Explore why you might need hypothetical indexes in PostgreSQL and how to use them,
June 1, 2021
by Sahil Aggarwal
· 9,160 Views · 8 Likes
article thumbnail
Force MFA for AWS IAM Users
As an AWS administrator, it is your job to make sure users enable MFA. See how to do so in this brief article.
June 1, 2021
by Mohit Nain
· 5,955 Views · 2 Likes
article thumbnail
AWS App Deployment Basics: VPC and PostgreSQL Setup
In this post, we will start by setting up AWS VPC and PostgreSQL instances. Then we try to connect to it via a NodeJS application running locally on the same machine.
June 1, 2021
by Jawad Hasan Shani DZone Core CORE
· 9,346 Views · 3 Likes
article thumbnail
MuleSoft DataWeave Practice: Prime Number Code
We learn how to write DataWeave code to check if an input number is prime or composite, sharpening your DataWeave skills in MuleSoft and also boost your logical thinking.
Updated June 1, 2021
by Akash Ghadge
· 17,995 Views · 3 Likes
article thumbnail
Deploying CockroachDB on Kubernetes using OpenEBS LocalPV
CockroachDB is a cloud-native SQL database that features both scalability and consistency. The database is designed to withstand data center failures by deploying multiple instances of symmetric nodes in a cluster consisting of several machines, disks, and data centers. Kubernetes’ built-in capabilities to scale and survive node failures make it well suited to orchestrate CockroachDB’s databases. This is particularly for the reason that Kubernetes simplifies cluster management and helps maintain high-availability by replicating data across independent nodes. This guide focuses on how OpenEBS LocalPV devices can be used to persist storage for Kubernetes-Hosted CockroachDB clusters. Introduction to Distributed, Scaled-out Databases Ever growing demands for resilience, performance, scalability and ease of use have led to an explosion of choices for developers and data scientists in search of an open source database to address their needs. Databases are often characterized as either SQL databases, noted for their consistency guarantees with PostgreSQL and MariaDB considered to be ACID compliant (Atomic, Consistent, Isolated, Durable), or NoSQL databases which have been noted for their scalability and flexibility however not considered to be either ACID compliant or completely compatible with SQL. More recently Distributed, Scaled-out Databases were introduced that promise to avoid the trade-offs between SQL and NoSQL databases, allowing for the scalability of NoSQL DBs along with the ACID (Atomic, Consistent, Isolated, Durable) transactions, strong consistency, and relational schemas of SQL DBs. CockroachDB is a distributed database that is built on top of RocksDB as its transactional and key-value store. Cockroach DB supports both ACID transactions and vertical & horizontal scalability. With extensive geographical distribution, CockroachDB can maintain availability with controlled latency in case of disk, machine or even a data center failure. How CockroachDB works: CockroachDB is deployed in clusters consisting of multiple nodes. Each node is divided into five layers: The SQL Layer converts client queries to key-value entities by first parsing them against a YACC file then converting them into an abstract syntax tree. With this tree, the database will generate a network of plan nodes containing a key-value code. When the plan nodes are executed, they initiate communication with the transaction layer. The Transaction Layer then uses two-phase commits to implement the semantics of ACID transactions. These commits are executed across all nodes in the cluster. The commit involves posting write extents and transaction records, then executing read operations. Once a commit has been made at the transaction layer, a request is made to the respective node’s Distribution Layer. This layer then identifies the destination node for the request and forwards the request to its replication layer. The Replication Layer’s primary responsibility is creating multiple copies of data across cluster nodes. It also uses a raft algorithm to ensure consensus between different nodes holding similar copies of data. The Storage Layer uses RocksDB to store data as key-value pairs. Although CockroachDB can run on Mac, Linux, and Windows OS, production instances of CockroachDB are typically run on Linux Virtual machines or containers. The database can be orchestrated either on cloud or on-premises setup. For running stateful applications, orchestration tools like Kubernetes are considered perfect. Orchestrating CockroachDB with Kubernetes Clusters: Before we begin To understand how CockroachDB is orchestrated on Kubernetes, here are some Kubernetes terminology applicable to storage and stateful applications: A StatefulSet is a collection of Kubernetes PODs viewed as a single stateful unit with its own network identity. A StatefulSet is a stable Kubernetes object that always binds to the same persistent storage when it restarts. A Persistent Volume is a block-storage-based file system that is bound to a POD. A volume’s lifecycle is not tied to the POD to which it is attached, and every CockroachDB node can attach to the same persistent volume every time it restarts. A Certificate Signing Request is a request by a client to have their TLS certificate signed by the Certificate Authority built into Kubernetes by default. Role-Based Access Control (RBAC) is the system used by Kubernetes to administer access permissions in the cluster. Roles allow users to access certain resources within the cluster. To use the most up-to-date files, Kubernetes version 1.15 or higher is required to run CockroachDB clusters. The database can be deployed on any Kubernetes distribution, including a Local cluster (such as Minikube), Amazon AWS, EKS, Google GKE and GCE, among others. For persistence and replication, CockroachDB relies on external persistent volumes such as OpenEBS LocalPV. Installing CockroachDB Operators on OpenEBS LocalPV Devices When using OpenEBS with CockroachDB, a LocalPV is provisioned on the node where a CockroachDB POD is attached. The volume uses an unattached block device, which is used to store data. OpenEBS Dynamic LocalPV provisioner can create Kubernetes Local Persistent Volumes using block devices available on the node to persist data, hereafter referred to as OpenEBS LocalPV Device volumes. When compared to native Kubernetes Local Persistent Volumes, OpenEBS LocalPV Device volumes have the following advantages. Dynamic Volume provisioner as opposed to a Static Provisioner. Better management of the block devices used for creating LocalPVs by OpenEBS NDM. NDM provides capabilities like discovering block device properties, setting up device filters, metrics collection and the ability to detect if the block devices have moved across nodes. Once a volume claims a block device, no other application can use the device for storage. If there are limited block devices in other nodes, nodeSelectors can be used to provision storage for applications on particular cluster nodes. The recommended configuration for CockroachDB clusters is at least three nodes with one unclaimed Local SSD per node. This solution guide takes you through installing CockroachDB Kubernetes operators, and then configuring the cluster to use Local OpenEBS devices as the storage engines. The guide also highlights how to access the database for SQL queries, and finally demonstrates how to monitor the database using Prometheus and Grafana. Let us know how you use CockroachDB in production and if you have an interesting use case to share. Also, please check out other OpenEBS deployment guides on common Kubernetes stateful workloads at: Deploying Kafka on Kubernetes Deploying Elasticsearch on Kubernetes Deploying WordPress on DigitalOcean Kubernetes Deploying Magento on Kubernetes Deploying Percona on Kubernetes Deploying Cassandra on Kubernetes Deploying MinIO on Kubernetes Deploying Prometheus on Kubernetes This article has already been published on https://blog.mayadata.io/deploying-cockroachdb-on-kubernetes-using-openebs-localpv and authorised by MayaData for a republish.
May 31, 2021
by Sudip Sengupta DZone Core CORE
· 13,319 Views · 3 Likes
article thumbnail
JSON vs. XML: Is One Really Better Than the Other?
Two languages enter. Will only one leave?
May 30, 2021
by Mariana Berga
· 17,089 Views · 16 Likes
article thumbnail
Kustomize: A Tool for Kubernetes Configuration Management
Kustomize is an easy-to-use tool for Kubernetes configuration management. It is integrated with Kubectl.
May 30, 2021
by Taruvai Subramaniam DZone Core CORE
· 9,677 Views · 2 Likes
article thumbnail
Top Microservices Frameworks
Choose right framework for microservices architecture.
May 29, 2021
by Ravi Kiran Mallidi DZone Core CORE
· 35,389 Views · 26 Likes
article thumbnail
Azure Databricks: 14 Best Practices For a Developer
From the choice of programming language to Git integration, this article covers 14 recommended best practices for developers working with Azure Databricks.
May 29, 2021
by Siddharth Mohanty
· 27,422 Views · 5 Likes
article thumbnail
AWS Serverless Data Lake: Built Real-time Using Apache Hudi, AWS Glue, and Kinesis Stream
In an enterprise system, populating a data lake relies heavily on interdependent batch processes. Today’s business demands high-quality data in minutes or seconds.
May 29, 2021
by Gaurav Gupta
· 12,695 Views · 3 Likes
article thumbnail
NGINX and HTTPs With Let’s Encrypt, Certbot, and Cron Dockerization In Production
Automatically create and renew website SSL certificates using the Let's Encrypt and its client certbot. Nginx server dockerization and crontab configuration.
Updated May 29, 2021
by Kunkka Li
· 69,824 Views · 4 Likes
article thumbnail
Angular vs React SEO: The Basics
Compare Angular and React in terms of their relative performance, popularity, and their SEO friendliness.
May 28, 2021
by Zsolt Varga
· 23,581 Views · 7 Likes
article thumbnail
How to Use CoreDNS Effectively With Kubernetes
It's critical that you understand CoreDNS behaviors, monitor it, and customize it to your needs. This post helps you prevent DNS landmines on Kubernetes.
May 27, 2021
by Sanket Sudake
· 8,003 Views · 4 Likes
article thumbnail
Tooling Guide for Getting Started With Apache Camel in 2021
This blog is not about how to write a Camel route, it's everything around it. From IDE, to testing framework and even the CI/CD pipeline tools.
May 27, 2021
by Christina Lin DZone Core CORE
· 15,369 Views · 7 Likes
article thumbnail
How to Composite 2 Images Together in Java
Composite a layered image onto a base image by leveraging APIs in Java.
May 26, 2021
by Brian O'Neill DZone Core CORE
· 5,925 Views · 1 Like
  • Previous
  • ...
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • ...
  • Next

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: