Updated May 2021 Elasticsearch is a distributed search and analytics engine. It is built on top of Apache Lucene. Elasticsearch was first released in 2010 by the company now known as Elastic. It was originally completely open source, but recent license changes have limited its usage. More on that below. Elasticsearch is part of a … Continue reading Elasticsearch Basics: What it is, Licensing, Languages, and Getting Help
Updated April 2021 Two of our team members had a vision to make Apache Pulsar accessible to everyone through an online course. Our team members who are experienced with building highly available Apache Pulsar messaging platforms put together this tutorial that leads learners through installing, configuring, and running Pulsar. Enroll in Apache Pulsar for Beginners … Continue reading Apache Pulsar Tutorial & Online Course
Updated March 2021 Boolean queries in Elasticsearch are a popular query type because of their versatility and ease of use. Boolean queries, or bool queries, find or match documents by using boolean clauses. For the vast majority of cases, the filtering clause will be used because it can be cached for faster search times. In … Continue reading How to Query Elasticsearch With Boolean Queries
Updated April 2021 One of the attractions of hosted Apache Pulsar is the peace of mind that a third party is responsible for ensuring uptime. However, that conclusion doesn’t consider what a company loses by using a third party hosted service. Fully managed Pulsar services, hosted directly on your internal environment (cloud or on-prem), still … Continue reading Hosted Apache Pulsar: Why managed Pulsar on your environment is a better choice
Updated March 2021. Kafka Connect is a free tool for efficiently moving data into and out of Apache Kafka. Kafka Connect simplifies streaming data while also improving scalability and reliability. Features of Kafka Connect Standardizes integrations with Kafka. Kafka Connect provides a shared framework for all Kafka connectors, which improves efficiency for connector development and … Continue reading What is Kafka Connect?
Updated February 2021 As discussed in a previous article, “What is Apache Pulsar?”, Pulsar is a two-layer system with Pulsar brokers acting as the serving layer and Apache BookKeeper bookies providing the persistent storage layer. In this post we will review BookKeeper’s role, important terminology, and an introduction to configuring Ledgers. Apache BookKeeper Basics BookKeeper … Continue reading BookKeeper for Pulsar
Updated February 2021 Apache Pulsar is a publish-subscribe distributed messaging system. When consumers subscribe to topics in Pulsar, there are four different types to choose from: Exclusive, Failover, Shared, and Key_Shared. In this article we will review the different subscription types and what factors to consider when choosing between them. If you are interested in … Continue reading Subscription Types in Apache Pulsar
Updated February 2021 Apache Pulsar is an open source, publish-subscribe messaging system. It’s unique because of its two-layer system where the serving and storage layers are separated. Pulsar runs with two supporting technologies, Apache BookKeeper and Apache ZooKeeper. The three technologies together provide a high throughput, low latency distributed messaging system. Pulsar Broker – Serving … Continue reading What is Apache Pulsar?
Updated January 2021 Kibana Query Syntax When querying Elasticsearch in Kibana you can either use the traditional Lucene query syntax or the newer Kibana Query Language (KQL). If you are using Kibana 7.0 or later, Kibana Query Language is included as a default. In this article we provide the basics for both approaches and provide … Continue reading How to Query Elasticsearch in Kibana
Updated September 2021 Both Apache Solr and Elasticsearch are popular open source* search engines built on top of Lucene. This article is intended to help readers learn more about the technologies in relation to one another to guide technology decisions. * Check out this article for information about recent Elasticsearch licensing changes. Elasticsearch is no … Continue reading Solr vs Elasticsearch
Updated January 2021 An Index in Elasticsearch is used to both organize and distribute data within a cluster. In this post we will define both components of an Index and then outline how to create, add to, delete, and reindex Indicies in Elasticsearch. We will also touch on querying, but querying will be covered in … Continue reading How to Index Elasticsearch
Updated April 2021 Apache Kafka is a distributed messaging system that implements pieces of the two traditional messaging models, Shared Message Queues and Publish-Subscribe. Both Shared Message Queues and Publish-Subscribe models present limitations for handling high throughput use cases. Apache Kafka provides fault tolerant, high throughput stream processing that can handle even the most complicated … Continue reading Kafka Uses Consumer Groups for Scaling Event Streaming
Updated April 2021 Apache Kafka’s high throughput and high availability make its applications vast. In this post we dive into eight Kafka case studies. These accounts are taken from work our Kafka solutions architects have done in the field with our clients. Medical Manufacturing Client automating the drug manufacturing process with multiple machines needs Kafka … Continue reading Kafka Case Studies
Updated April 2021 In this post we will compare Apache Kafka and the Confluent Kafka Platform, describing what they have in common and what sets them apart. What is Confluent Kafka and Apache Kafka? Apache Kafka is an open source message broker that provides high throughput, high availability, and low latency. Apache Kafka can be … Continue reading Comparing Confluent Kafka and Apache Kafka
Updated January 2021 Taking a break from Elasticsearch optimization posts to get back to the basics to define fundamental Elasticsearch concepts. Elasticsearch Definitions: A Primer for Elasticsearch Fundamentals Elasticsearch Node. An Elasticsearch node is a single Elasticsearch process, and the minimum number of nodes for a highly available Elasticsearch cluster is three. Continue reading about … Continue reading Elasticsearch Definitions
Updated January 2021 Taking a break from Kafka optimization posts to get back to the basics of Apache Kafka and define fundamental Kafka concepts. Kafka Definitions: A Primer for Apache Kafka Fundamentals Kafka Producer. A Kafka producer is a standalone application, or addition to your application, that sends data to Kafka broker(s). Kafka Broker. A … Continue reading Kafka Definitions
Updated April 2021 Kafka Consumer’s Role. The role of the Kafka consumer is to read data from Kafka. Kafka consumer optimization can help avoid errors and increase performance of your application. While the focus of this blog post is on the consumer, we will also review several broker configurations which affect the performance of consumers. Top … Continue reading Kafka Consumer Optimization
Updated December 2020 Apache Kafka is hugely popular because of its features that guarantee uptime, make it easy to scale, enable Kafka to handle high volumes, and much more. In this article we will discuss the Top 10 Apache Kafka features to help you evaluate if Kafka is the right technology for your company’s business … Continue reading Top 10 Apache Kafka Features That Drive Its Popularity
Updated August 2020 Kafka organizes message feeds into categories called topics. Each topic has a name that is unique across the entire Kafka cluster. Messages are sent to and read from specific topics. In other words, producers write data to topics, and consumers read data from topics. Kafka topics are multi-subscriber. This means that a … Continue reading What is a Kafka Topic?
In this post we challenge the misconception that managed Kafka services need to be hosted on third party platforms.
Updated December 2020 Kafka’s primary role in many data architecture designs is ensuring that no data is lost. Databases can fail. Servers can fail. Applications can fail. But a well designed Kafka deployment should provide 24/7, reliable, fault-tolerant message collection and processing. One way to ensure an expertly designed and managed Kafka deployment is to … Continue reading Uptime Guarantees for Managed Kafka as a Service
Updated September 2020 The key to ensuring Kafka uptime and maintaining peak performance is through monitoring. By reviewing disk performance, memory usage, CPU, network traffic, and load in real-time abnormal metrics or trends can be identified before a performance dip or outage occurs. Furthermore, monitoring Kafka provides assurance to your users that all messages are correctly … Continue reading Open Source Monitoring for Kafka
Updated April 2021 There are a handful of providers offering Kafka as a Service. If you are in the market for managed Kafka you might be wondering what factors to consider when choosing a provider. In this post, we break down the five most important considerations. #1 Is the service fully managed? If the service … Continue reading 5 Factors to Consider When Choosing a Kafka as a Service Provider
Updated November 2020 What is Kafka loading balancing? Load balancing with Kafka is a straightforward process and is handled by the Kafka producers by default. While it isn’t traditional load balancing, it does spread out the message load between partitions while preserving message ordering. Round-robin approach: By default, producers choose the partition assignment for each … Continue reading Load Balancing With Kafka
Updated June 2021 One aspect of Kafka that can cause some confusion for new users is the consumer offset. In this post, we define consumer offset and outline the factors that determine the offset. Defining Kafka Consumer Offset The consumer offset is a way of tracking the sequential order in which messages are received by … Continue reading Understanding Kafka Consumer Offset
Updated July 2021 ZooKeeper is used in distributed systems for service synchronization and as a naming registry. When working with Apache Kafka, ZooKeeper is primarily used to track the status of nodes in the Kafka cluster and maintain a list of Kafka topics and messages. Jump to info on using Kafka without ZooKeeper ZooKeeper … Continue reading What is ZooKeeper & How Does it Support Kafka?
Updated September 2020 Many companies leverage both Apache Kafka and the Elastic Stack (Elasticsearch, Logstash, and Kibana) for log and/or event processing. Kafka is often used as the transport layer, storing and processing data, typically large amounts of data. Kafka stages data before it makes its way to the Elastic Stack. Logstash transforms the data, … Continue reading Origins of Kafka and Why it Plays Well With Elasticsearch
Updated April 2021 Apache Kafka is a high-throughput, open source message queue used by Fortune 100 companies, government entities, and startups alike. Part of Kafka’s appeal is its wide array of use cases. In this post we will outline several of Kafka’s uses cases from event sourcing to tracking web activities to metrics and more. … Continue reading Kafka Use Cases
For Apache Kafka performance tuning measure latency and throughput for your Kafka implementation. Latency is the measure of how long it takes Kafka to process a single event. Throughput is the measure of how many events arrive within a particular period of time.
Updated April 2021 Optimizing Elasticsearch for shard size is an important component for achieving maximum performance from your cluster. To get started let’s review a few definitions that are an important part of the Elasticsearch jargon. If you are already familiar with Elasticsearch, you can continue straight to the next section. Defining Elasticsearch Jargon: Cluster, … Continue reading Elasticsearch Shards — Definitions, Sizes, Optimizations, and More
Updated April 2021 The way nodes are organized in an Elasticsearch cluster changes depending on the size of the cluster. For small, medium, and large Elasticsearch clusters there will be different approaches for optimization. Dattell’s team of engineers are expert at designing, optimizing, and maintaining Elasticsearch implementations and supporting technologies. Find our more about our … Continue reading Elasticsearch Optimization for Small, Medium, and Large Clusters
Updated January 2021 There are six key components to securing Kafka. These best practices will help you optimize Kafka and protect your data from avoidable exposure. #1 Encryption By default, data is plaintext in Kafka, which leaves it vulnerable to a man-in-the-middle attack as data is routed over your network. Transport layer security (TLS) and/or … Continue reading Kafka Optimization: Kafka Security Checklist
Updated June 2021 Apache Kafka is a distributed system, running in a cluster with each of the nodes referred to as brokers. Kafka topics are partitioned and replicated across the brokers throughout the entirety of the implementation. These partitions allow users to parallelize topics, meaning data for any topic can be divided over multiple brokers. … Continue reading Kafka Optimization — How many partitions are needed?
In this post, we will define what Kafka topics are and explain how to create them.
Yes, your data is valuable. However, like oil in the ground, its value isn’t fully realized until it is cleaned up and processed. And just as crude oil can be valuable for transportation, plastic manufacturing, and heating, company data too can be processed to extract multiple layers of value. In this post, we will discuss the ways in which your data can provide value for your business and customers.
There are several message queue programs to choose from: Kafka, RabbitMQ, ActiveMQ, ZeroMQ, Redis, among others. How do you choose which is right for you?
Monitoring Kafka cluster performance is crucial for diagnosing system issues and preventing future problems. We recommend using Elasticsearch for Kafka monitoring because Elasticsearch is free and highly versatile as a single source of truth throughout any organization.
Dattell’s engineers work one-on-one with companies to design, implement, manage, and improve their Elasticsearch deployments. Get answers to top questions about Elasticsearch consulting and managed services.
Our team is experienced with implementing and fixing Kafka on a wide-range of systems for an even wider-range of business needs. From our real-world experience with Kafka consulting, we found that there are common questions that many new clients have about the technology.
Here are some quick answers to those questions.
We outlined the four primary ways for backing up data and their benefits and drawbacks to help you decide on which approach best meets your company’s needs.
When we are driving, we are routinely making data-driven decisions using the gauges on our dashboard to guide us. Data-driven decision making should be just as easy when it comes to business.
We broke down the thought process for choosing between AWS Elasticsearch and a custom Elasticsearch solution here to help you think through what will be right for you and your team.
With this guide, you will be able to define the business and technical requirements for your data platform, making the implementation process efficient and successful.
When designing a custom data architecture, business analytics, or operational intelligence platform for a client, four benefits of open source tools make them undoubtedly a better option in the vast majority of cases.
The implementation of a data handling platform, whether it is a centralized reporting system, Business Analytics, Operational Intelligence, or single point of truth for your company, will improve the way you make data-driven decisions.
Dattell is pleased to announce our formal partnership with Elastic, Inc. as an official reseller of the Elastic X-pack.
Dattell is partnering with the creators of Kafka and Confluent to strengthen our commitment to improve messaging and data infrastructure for companies of all sizes.
Issues with Apache Kafka performance are directly tied to system optimization and utilization. Here, we compiled the best practices for a high volume, clustered, general use case.
When companies scale, their data handling needs change, and systems that worked a year ago are now over-taxed with the increase in message volume. One particular component of the data handling system, the cluster architecture, should be revisited.