The tech talk was gieven by Ranjeeth Kathiresan, Salesforce Senior Software Engineer & Gurpreet Multani, Salesforce Principal Software Engineer in June 2017.
This document discusses strategies for scaling HBase to support millions of regions. It describes Yahoo's experience managing clusters with over 100,000 regions. Large regions can cause problems with tasks distribution, I/O contention during compaction, and scan timeouts. The document recommends keeping regions small and explores enhancements made in HBase to support very large region counts like splitting the meta region across servers and using hierarchical region directories to reduce load on the namenode. Performance tests show these changes improved the time to assign millions of regions.
HBase and HDFS: Understanding FileSystem Usage in HBaseenissoz
This document discusses file system usage in HBase. It provides an overview of the three main file types in HBase: write-ahead logs (WALs), data files, and reference files. It describes durability semantics, IO fencing techniques for region server recovery, and how HBase leverages data locality through short circuit reads, checksums, and block placement hints. The document is intended help understand HBase's interactions with HDFS for tuning IO performance.
This talk delves into the many ways that a user has to use HBase in a project. Lars will look at many practical examples based on real applications in production, for example, on Facebook and eBay and the right approach for those wanting to find their own implementation. He will also discuss advanced concepts, such as counters, coprocessors and schema design.
This document introduces HBase, an open-source, non-relational, distributed database modeled after Google's BigTable. It describes what HBase is, how it can be used, and when it is applicable. Key points include that HBase stores data in columns and rows accessed by row keys, integrates with Hadoop for MapReduce jobs, and is well-suited for large datasets, fast random access, and write-heavy applications. Common use cases involve log analytics, real-time analytics, and messages-centered systems.
The document summarizes Apache Phoenix and its past, present, and future as a SQL interface for HBase. It describes Phoenix's architecture and key features like secondary indexes, joins, aggregations, and transactions. Recent releases added functional indexes, the Phoenix Query Server, and initial transaction support. Future plans include improvements to local indexes, integration with Calcite and Hive, and adding JSON and other SQL features. The document aims to provide an overview of Phoenix's capabilities and roadmap for building a full-featured SQL layer over HBase.
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DMYahoo!デベロッパーネットワーク
LINE Developer Meetup #68 - Big Data Platformの発表資料です。HDFSのメジャーバージョンアップとRouter-based Federation(RBF)の適用について紹介しています。イベントページ: https://line.connpass.com/event/188176/
The document discusses local secondary indexes in Apache Phoenix. Local indexes are stored in the same region as the base table data, providing faster index building and reads compared to global indexes. The write process involves preparing index updates along with data updates and writing them atomically to memstores and the write ahead log. Reads scan the local index and retrieve any missing columns from the base table. Local indexes improve write performance over global indexes due to reduced network utilization. The document provides performance results and tips on using local indexes.
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseCloudera, Inc.
This document discusses file system usage in HBase. It describes the main file types in HBase including write ahead logs (WALs), data files, and reference files. It covers topics like durability semantics, IO fencing, and data locality techniques used in HBase like short circuit reads, checksums, and block placement. The document is presented by Enis Söztutar and is intended to help understand how HBase performs IO operations over HDFS for tuning performance.
This document discusses techniques for improving latency in HBase. It analyzes the write and read paths, identifying sources of latency such as networking, HDFS flushes, garbage collection, and machine failures. For writes, it finds that single puts can achieve millisecond latency while streaming puts can hide latency spikes. For reads, it notes cache hits are sub-millisecond while cache misses and seeks add latency. GC pauses of 25-100ms are common, and failures hurt locality and require cache rebuilding. The document outlines ongoing work to reduce GC, use off-heap memory, improve compactions and caching to further optimize for low latency.
This document discusses Apache Ranger, an open source framework for centralized security administration across Hadoop ecosystems. It provides a presentation on securing Hadoop with Ranger, including an overview of current Hadoop security, how Ranger addresses this with centralized policy management and plugins for Hadoop components like HDFS, Hive and HBase. The document outlines Ranger's architecture and components like the policy administration server, user sync server and plugins, demonstrating how Ranger implements authorization for different Hadoop tools and integrates with their native permissions systems.
Anoop Sam John and Ramkrishna Vasudevan (Intel)
HBase provides an LRU based on heap cache but its size (and so the total data size that can be cached) is limited by Java’s max heap space. This talk highlights our work under HBASE-11425 to allow the HBase read path to work directly from the off-heap area.
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
This document discusses supporting Apache HBase and improving troubleshooting and supportability. It introduces two Cloudera employees who work on HBase support and provides an overview of typical troubleshooting scenarios for HBase like performance degradation, process crashes, and inconsistencies. The agenda covers using existing tools like logs and metrics to troubleshoot HBase performance issues with a general approach, and introduces htop as a real-time monitoring tool for HBase.
This document provides a summary of improvements made to Hive's performance through the use of Apache Tez and other optimizations. Some key points include:
- Hive was improved to use Apache Tez as its execution engine instead of MapReduce, reducing latency for interactive queries and improving throughput for batch queries.
- Statistics collection was optimized to gather column-level statistics from ORC file footers, speeding up statistics gathering.
- The cost-based optimizer Optiq was added to Hive, allowing it to choose better execution plans.
- Vectorized query processing, broadcast joins, dynamic partitioning, and other optimizations improved individual query performance by over 100x in some cases.
The document outlines topics covered in "The Impala Cookbook" published by Cloudera. It discusses physical and schema design best practices for Impala, including recommendations for data types, partition design, file formats, and block size. It also covers estimating and managing Impala's memory usage, and how to identify the cause when queries exceed memory limits.
Tez is the next generation Hadoop Query Processing framework written on top of YARN. Computation topologies in higher level languages like Pig/Hive can be naturally expressed in the new graph dataflow model exposed by Tez. Multi-stage queries can be expressed as a single Tez job resulting in lower latency for short queries and improved throughput for large scale queries. MapReduce has been the workhorse for Hadoop but its monolithic structure had made innovation slower. YARN separates resource management from application logic and thus enables the creation of Tez, a more flexible and generic new framework for data processing for the benefit of the entire Hadoop query ecosystem.
Hadoop Meetup Jan 2019 - Dynamometer and a Case Study in NameNode GCErik Krogen
Erik Krogen of LinkedIn presents regarding Dynamometer, a system open sourced by LinkedIn for scale- and performance-testing HDFS. He discusses one major use case for Dynamometer, tuning NameNode GC, and discusses characteristics of NameNode GC such as why it is important, and how it interacts with various current and future GC algorithms.
This is taken from the Apache Hadoop Contributors Meetup on January 30, hosted by LinkedIn in Mountain View.
The document discusses security features in Hortonworks Data Platform (HDP) and Pivotal HD. It covers authentication with Kerberos, authorization and auditing using Apache Ranger, perimeter security with Apache Knox, and data encryption at rest and in transit. Various security flows are illustrated including typical access to Hive through Beeline and adding authorization, firewall routing, and encryption. Installation and configuration of Ranger and Knox are also outlined.
The document discusses Facebook's use of HBase to store messaging data. It provides an overview of HBase, including its data model, performance characteristics, and how it was a good fit for Facebook's needs due to its ability to handle large volumes of data, high write throughput, and efficient random access. It also describes some enhancements Facebook made to HBase to improve availability, stability, and performance. Finally, it briefly mentions Facebook's migration of messaging data from MySQL to their HBase implementation.
Hadoop Meetup Jan 2019 - Router-Based Federation and Storage TieringErik Krogen
This document discusses HDFS RBF and storage tiering. It provides an overview of the current multi-cluster HDFS setup using ViewFS, new use cases that require changes, and introduces Router Based Federation (RBF) as an alternative. RBF allows a unified view of multiple HDFS clusters. The document also describes implementing warm storage tiering between clusters using RBF, a new data movement service called uDestiny, and a workflow to safely move data between clusters. The goal is to improve cost efficiency by serving older or less frequently accessed data from a lower-cost, high-density warm storage cluster.
This document provides an overview of the ORC file format. It describes the key requirements and design decisions, including file structure, stripe structure, encoding columns, run length encoding, compression, indexing, and versioning. It also discusses optimizations, debugging, and using ORC from SQL, Java, C++, and the command line. The document is intended to help users and developers better understand how ORC works.
This document summarizes a talk about Facebook's use of HBase for messaging data. It discusses how Facebook migrated data from MySQL to HBase to store metadata, search indexes, and small messages in HBase for improved scalability. It also outlines performance improvements made to HBase, such as for compactions and reads, and future plans such as cross-datacenter replication and running HBase in a multi-tenant environment.
The document discusses Facebook's use of HBase as the database storage engine for its messaging platform. It provides an overview of HBase, including its data model, architecture, and benefits like scalability, fault tolerance, and simpler consistency model compared to relational databases. The document also describes Facebook's contributions to HBase to improve performance, availability, and achieve its goal of zero data loss. It shares Facebook's operational experiences running large HBase clusters and discusses its migration of messaging data from MySQL to a de-normalized schema in HBase.
Apache Hadoop India Summit 2011 talk "Searching Information Inside Hadoop Pla...Yahoo Developer Network
The document discusses different approaches for searching large datasets in Hadoop, including MapReduce, Lucene/Solr, and building a new search engine called HSearch. Some key challenges with existing approaches included slow response times and the need for manual sharding. HSearch indexes data stored in HDFS and HBase. The document outlines several techniques used in HSearch to improve performance, such as using SSDs selectively, reducing HBase table size, distributing queries across region servers, moving processing near data, byte block caching, and configuration tuning. Benchmarks showed HSearch could return results for common words from a 100 million page index within seconds.
This document contains information about HBase concepts and configurations. It discusses different modes of HBase operation including standalone, pseudo-distributed, and distributed modes. It also covers basic prerequisites for running HBase like Java, SSH, DNS, NTP, ulimit settings, and Hadoop for distributed mode. The document explains important HBase configuration files like hbase-site.xml, hbase-default.xml, hbase-env.sh, log4j.properties, and regionservers. It provides details on column-oriented versus row-oriented databases and discusses optimizations that can be made through configuration settings.
This document summarizes a presentation about using the HBase database with Ruby on Rails applications. It discusses what HBase is, some of the tradeoffs it involves compared to relational databases, when it may be suitable versus not suitable for an application, and how to interface with it from Rails. Examples are provided of libraries that can be used to connect Rails and HBase, as well as demos of JRuby scripts and Rails code that access an HBase backend.
Zachary Pinter and Tony Hillerson from EffectiveUI presented at RailsConf 2011. This presentation covers the basics of HBase, what type of apps it works well with, and how to use HBase with Rails.
This document summarizes a presentation about using the HBase database with Ruby on Rails applications. HBase is a distributed, column-oriented database that is well-suited for large datasets and integrates with Hadoop. The presentation covers what HBase is, its tradeoffs compared to relational databases, when it may be a good or bad fit, and examples of using HBase with Rails through libraries like hbase-stargate and MassiveRecord. It also includes a demo of running JRuby scripts against HBase and building a Rails frontend.
Chicago Data Summit: Apache HBase: An IntroductionCloudera, Inc.
Apache HBase is an open source distributed data-store capable of managing billions of rows of semi-structured data across large clusters of commodity hardware. HBase provides real-time random read-write access as well as integration with Hadoop MapReduce, Hive, and Pig for batch analysis. In this talk, Todd will provide an introduction to the capabilities and characteristics of HBase, comparing and contrasting it with traditional database systems. He will also introduce its architecture and data model, and present some example use cases.
Richard Xu presented on new features in HBase including:
1) HBase high availability (HA) using timeline-consistent region replicas for read availability with low latency.
2) HBase off-heap memory to reduce latency and allow larger datasets in memory.
3) Running HBase on YARN using Apache Slider for simplified deployment, lifecycle management, and elasticity.
4) New features in HBase 1.0 such as co-locating the HBase master with a regionserver and region replication.
This document discusses using the HBase database with Ruby on Rails applications. It provides an overview of HBase, including what it is, its core concepts like tables, columns, and column families. It also covers some of HBase's tradeoffs compared to relational databases, such as limitations on real-time queries and joins. The document discusses when HBase may be a good fit, such as for large datasets or highly distributed applications, and libraries for integrating HBase into Rails like hbase-stargate and MassiveRecord. It concludes with a demo of a URL shortener application built on Rails and HBase.
Performance Optimizations in Apache ImpalaCloudera, Inc.
Apache Impala is a modern, open-source MPP SQL engine architected from the ground up for the Hadoop data processing environment. Impala provides low latency and high concurrency for BI/analytic read-mostly queries on Hadoop, not delivered by batch frameworks such as Hive or SPARK. Impala is written from the ground up in C++ and Java. It maintains Hadoop’s flexibility by utilizing standard components (HDFS, HBase, Metastore, Sentry) and is able to read the majority of the widely-used file formats (e.g. Parquet, Avro, RCFile).
To reduce latency, such as that incurred from utilizing MapReduce or by reading data remotely, Impala implements a distributed architecture based on daemon processes that are responsible for all aspects of query execution and that run on the same machines as the rest of the Hadoop infrastructure. Impala employs runtime code generation using LLVM in order to improve execution times and uses static and dynamic partition pruning to significantly reduce the amount of data accessed. The result is performance that is on par or exceeds that of commercial MPP analytic DBMSs, depending on the particular workload. Although initially designed for running on-premises against HDFS-stored data, Impala can also run on public clouds and access data stored in various storage engines such as object stores (e.g. AWS S3), Apache Kudu and HBase. In this talk, we present Impala's architecture in detail and discuss the integration with different storage engines and the cloud.
This document provides an overview of HBase, including:
- HBase is a distributed, scalable, big data store modeled after Google's BigTable. It provides a fault-tolerant way to store large amounts of sparse data.
- HBase is used by large companies to handle scaling and sparse data better than relational databases. It features automatic partitioning, linear scalability, commodity hardware, and fault tolerance.
- The document discusses HBase operations, schema design best practices, hardware recommendations, alerting, backups and more. It provides guidance on designing keys, column families and cluster configuration to optimize performance for read and write workloads.
Introduction to HBase. HBase is a NoSQL databases which experienced a tremendous increase in popularity during the last years. Large companies like Facebook, LinkedIn, Foursquare are using HBase. In this presentation we will address questions like: what is HBase?, and compared to relational databases?, what is the architecture?, how does HBase work?, what about the schema design?, what about the IT ressources?. Questions that should help you consider whether this solution might be suitable in your case.
Hw09 Practical HBase Getting The Most From Your H Base InstallCloudera, Inc.
The document summarizes two presentations about using HBase as a database. It discusses the speakers' experiences using HBase at Stumbleupon and Streamy to replace MySQL and other relational databases. Some key points covered include how HBase provides scalability, flexibility, and cost benefits over SQL databases for large datasets.
Optimization on Key-value Stores in Cloud EnvironmentFei Dong
This document discusses optimizing key-value stores like HBase in cloud environments. It introduces HBase, a distributed, column-oriented database built on HDFS that provides scalable storage and retrieval of large datasets. The document compares rule-based and cost-based optimization strategies, and explores using rule-based optimization to analyze HBase's performance when deployed on Amazon EC2 instances. It describes developing an HBase profiler to measure the costs of using HBase for storage.
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
HBase has been in production in hundreds of clusters across the CDH/HDP customer base and Cloudera/Hortonworks support it for many years.
In this talk, based on our support experience, we aim to introduce useful information to troubleshoot HBase clusters efficiently. First off, we (Daisuke at Cloudera support) are going to talk about typical log messages and web UI info which we can use for troubleshooting (especially for struggling with performance issues). Since their meanings have been changing over the past versions, we would like to show the difference and improvements as well (e.g. HBASE-20232 for memstore flush, HBASE-16972 for slow scanner, HBASE-18469 for request counter, and also HBASE-21207 for sorting in web UI). We (Toshihiro at Cloudera, a former Hortonworks employee) will also cover some new tools (e.g. HBASE-21926 Profiler Servlet, HBASE-11062 htop, etc.), which should also be useful for performance troubleshooting.
HBase is an open-source, distributed, versioned, key-value database modeled after Google's Bigtable. It is designed to store large volumes of sparse data across commodity hardware. HBase uses Hadoop for storage and provides real-time read and write capabilities. It scales horizontally and is highly fault tolerant through its master-slave architecture and use of Zookeeper for coordination. Data in HBase is stored in tables and indexed by row keys for fast lookup, with columns grouped into families and versions stored by timestamps.
HBase is an open-source, non-relational, distributed database built on top of Hadoop and HDFS. It provides BigTable-like capabilities for Hadoop, including fast random reads and writes. HBase stores data in tables comprised of rows, columns, and versions. It is designed to handle large volumes of sparse or unstructured data across clusters of commodity hardware. HBase uses a master-slave architecture with RegionServers storing and serving data and a single active MasterServer managing the cluster metadata and load balancing.
This document discusses several key concepts in HBase including its architecture, data model, caching mechanisms, compaction process, block size considerations, failover process, and region splitting. It addresses questions around HBase's master-slave model, location of the meta table, row key design principles, the roles of memstore and blockcache, how minor and major compactions work, tradeoffs of large versus small block sizes, and how the system handles failures or administrative actions that involve moving regions.
In this talk you will learn:
How to structure your JS-heavy project in Salesforce DX
How to structure your JS-heavy project in Salesforce DX
Learn how to use all the familiar JS tools with Webpack and Lightning
Techniques to Effectively Monitor the Performance of Customers in the CloudSalesforce Engineering
This document discusses techniques for effectively monitoring customer performance in the cloud. It recommends establishing a baseline for normal performance and monitoring metrics and thresholds to detect deviations. Key metrics to track include counts, medians, percentiles, and distributions over time. Dashboards should visualize these metrics and allow comparing performance across different time periods. An example dashboard monitors adoption, errors, and metrics over the last 30 days and compares to the same day last week. The presentation demonstrates an Einstein Analytics dashboard for interactive analysis across devices.
HBase is a healthy, stable, and popular open source distributed database that is celebrating its 10th birthday. It has over 160 contributors and developers, with steady releases being made across multiple active versions. Improvements and the 2.0 release are upcoming, building on strong community involvement and contributions over its history.
This document summarizes Salesforce's use of HBase and Phoenix for storing and querying large volumes of structured and unstructured data at scale. Some key details:
1) Salesforce heavily uses HBase and Phoenix for both customer-facing and internal use cases, including storing login data, user activity, thread dumps, and more.
2) Salesforce operates over 100 HBase clusters of varying sizes to support over 4 billion write requests and 600 million read requests per day, totaling over 80 terabytes of data written and 500 gigabytes read daily.
3) An example use case is a central metrics database collecting data from over 80,000 machines, storing 11.4 trillion metrics and growing, with
The tech talk was given by Kexin Xie, Director of Data Science, and Yacov Salomon, VP of Data Science in June 2017.
Scaling up data science applications: How switching to Spark improved performance, realizability and reduced cost
Cem Gurkok presented on containers and security. The presentation covered threats to containers like container exploits and tampering of images. It discussed securing the container pipeline through steps like signing, authentication, and vulnerability scans. It also covered monitoring containers and networks, digital forensics techniques, hardening containers and hosts, and vulnerability management.
This document provides an overview of aspect-oriented programming (AOP) and various AOP implementations. It begins with an introduction to AOP concepts like cross-cutting concerns. It then discusses the AOP frameworks AspectJ and Spring AOP, covering their pointcut and advice anatomy. The document also examines how AOP can be used for code coverage, benchmarks, improved compilation, and application monitoring. It analyzes implementations like JaCoCo, JMH, HotswapAgent, and AppDynamics as examples.
This document discusses using XHProf to perform performance tuning of PHP applications. It begins with an introduction of the speaker and their company Pardot. It then provides an overview of XHProf including how to install, configure, and use it to profile PHP applications. The document outlines various performance tips for PHP such as optimizing array operations, managing memory efficiently, and improving database queries. It also walks through some examples of profiling a sample Symfony application that involves getting click data from a database. The examples demonstrate how to optimize queries and object hydration to improve performance.
A Smarter Pig: Building a SQL interface to Pig using Apache CalciteSalesforce Engineering
This document summarizes a presentation about building a SQL interface for Apache Pig using Apache Calcite. It discusses using Calcite's query planning framework to translate SQL queries into Pig Latin scripts for execution on HDFS. The presenters describe their work at Salesforce using Calcite for batch querying across data sources, and outline their process for creating a Pig adapter for Calcite, including implementing Pig-specific operators and rules for translation. Lessons learned include that Calcite provides flexibility but documentation could be improved, and examples from other adapters were helpful for their implementation.
The document discusses implementing a content strategy and outlines some key lessons learned. It notes that implementing a content strategy is like running a long distance and will involve pain, relationships, and focusing on strengths over weaknesses. It advises getting ready for the pain involved, not trying to do it alone, and leveraging strengths rather than weaknesses. The presentation encourages the audience to take action by volunteering or taking the next step.
The tech talk was given by Jim Walsh, Salesforce SVP Infrastructure Engineering in May 2017.
The presentation provides a brief overview of Salesforce Cloud Infrastructure and Challenges.
Koober is an open-source interactive website that uses machine learning models trained on historical taxi and weather data to visualize past taxi demand and predict future demand. It generates datasets by clustering taxi pickup locations and extracting features from the data, then builds models using techniques like gradient-boosted trees and neural networks. The website integrates these predictions with interactive maps to help the taxi industry optimize operations and better meet customer needs based on past trends.
Talk given by Marat Vyshegorodtsev and Sergey Gorbaty. Enterprise Security team at Salesforce, in January 2017.
Discusses a set of open source tools that analyze the Apex/VisualForce code and advise on its quality.
This document discusses microservices and the process of setting up a new microservice. It covers topics such as defining the service scope, getting approvals, source control and packaging, running environments, logging and monitoring, and preparing the service for production use. The key aspects of setting up a new microservice include buy-in from management, external design reviews, source control and deployment automation, provisioning compute and storage resources, and integrating the service with monitoring and on-call systems.
This document discusses using Apache Zookeeper to orchestrate microservice deployments. It describes how Zookeeper can be used to define service topology, enable one-button deployments through a coordinator service called Maestro, and ensure high availability and failure recovery. The Maestro coordinator initiates and manages deployments by monitoring global state in Zookeeper and determining which nodes to deploy next. Maestro agents on each node receive notifications, create execution plans to deploy updates, and publish status to Zookeeper. Different propagation strategies like canary deployments and rollback capabilities provide health mediation during deployments.
UiPath Community Day Amsterdam: Code, Collaborate, ConnectUiPathCommunity
Welcome to our third live UiPath Community Day Amsterdam! Come join us for a half-day of networking and UiPath Platform deep-dives, for devs and non-devs alike, in the middle of summer ☀.
📕 Agenda:
12:30 Welcome Coffee/Light Lunch ☕
13:00 Event opening speech
Ebert Knol, Managing Partner, Tacstone Technology
Jonathan Smith, UiPath MVP, RPA Lead, Ciphix
Cristina Vidu, Senior Marketing Manager, UiPath Community EMEA
Dion Mes, Principal Sales Engineer, UiPath
13:15 ASML: RPA as Tactical Automation
Tactical robotic process automation for solving short-term challenges, while establishing standard and re-usable interfaces that fit IT's long-term goals and objectives.
Yannic Suurmeijer, System Architect, ASML
13:30 PostNL: an insight into RPA at PostNL
Showcasing the solutions our automations have provided, the challenges we’ve faced, and the best practices we’ve developed to support our logistics operations.
Leonard Renne, RPA Developer, PostNL
13:45 Break (30')
14:15 Breakout Sessions: Round 1
Modern Document Understanding in the cloud platform: AI-driven UiPath Document Understanding
Mike Bos, Senior Automation Developer, Tacstone Technology
Process Orchestration: scale up and have your Robots work in harmony
Jon Smith, UiPath MVP, RPA Lead, Ciphix
UiPath Integration Service: connect applications, leverage prebuilt connectors, and set up customer connectors
Johans Brink, CTO, MvR digital workforce
15:00 Breakout Sessions: Round 2
Automation, and GenAI: practical use cases for value generation
Thomas Janssen, UiPath MVP, Senior Automation Developer, Automation Heroes
Human in the Loop/Action Center
Dion Mes, Principal Sales Engineer @UiPath
Improving development with coded workflows
Idris Janszen, Technical Consultant, Ilionx
15:45 End remarks
16:00 Community fun games, sharing knowledge, drinks, and bites 🍻
Generative AI technology is a fascinating field that focuses on creating comp...Nohoax Kanont
Generative AI technology is a fascinating field that focuses on creating computer models capable of generating new, original content. It leverages the power of large language models, neural networks, and machine learning to produce content that can mimic human creativity. This technology has seen a surge in innovation and adoption since the introduction of ChatGPT in 2022, leading to significant productivity benefits across various industries. With its ability to generate text, images, video, and audio, generative AI is transforming how we interact with technology and the types of tasks that can be automated.
Redefining Cybersecurity with AI CapabilitiesPriyanka Aash
In this comprehensive overview of Cisco's latest innovations in cybersecurity, the focus is squarely on resilience and adaptation in the face of evolving threats. The discussion covers the imperative of tackling Mal information, the increasing sophistication of insider attacks, and the expanding attack surfaces in a hybrid work environment. Emphasizing a shift towards integrated platforms over fragmented tools, Cisco introduces its Security Cloud, designed to provide end-to-end visibility and robust protection across user interactions, cloud environments, and breaches. AI emerges as a pivotal tool, from enhancing user experiences to predicting and defending against cyber threats. The blog underscores Cisco's commitment to simplifying security stacks while ensuring efficacy and economic feasibility, making a compelling case for their platform approach in safeguarding digital landscapes.
Garbage In, Garbage Out: Why poor data curation is killing your AI models (an...Zilliz
Enterprises have traditionally prioritized data quantity, assuming more is better for AI performance. However, a new reality is setting in: high-quality data, not just volume, is the key. This shift exposes a critical gap – many organizations struggle to understand their existing data and lack effective curation strategies and tools. This talk dives into these data challenges and explores the methods of automating data curation.
"Building Future-Ready Apps with .NET 8 and Azure Serverless Ecosystem", Stan...Fwdays
.NET 8 brought a lot of improvements for developers and maturity to the Azure serverless container ecosystem. So, this talk will cover these changes and explain how you can apply them to your projects. Another reason for this talk is the re-invention of Serverless from a DevOps perspective as a Platform Engineering trend with Backstage and the recent Radius project from Microsoft. So now is the perfect time to look at developer productivity tooling and serverless apps from Microsoft's perspective.
The Zaitechno Handheld Raman Spectrometer is a powerful and portable tool for rapid, non-destructive chemical analysis. It utilizes Raman spectroscopy, a technique that analyzes the vibrational fingerprint of molecules to identify their chemical composition. This handheld instrument allows for on-site analysis of materials, making it ideal for a variety of applications, including:
Material identification: Identify unknown materials, minerals, and contaminants.
Quality control: Ensure the quality and consistency of raw materials and finished products.
Pharmaceutical analysis: Verify the identity and purity of pharmaceutical compounds.
Food safety testing: Detect contaminants and adulterants in food products.
Field analysis: Analyze materials in the field, such as during environmental monitoring or forensic investigations.
The Zaitechno Handheld Raman Spectrometer is easy to use and features a user-friendly interface. It is compact and lightweight, making it ideal for field applications. With its rapid analysis capabilities, the Zaitechno Handheld Raman Spectrometer can help you improve efficiency and productivity in your research or quality control workflows.
DefCamp_2016_Chemerkin_Yury-publish.pdf - Presentation by Yury Chemerkin at DefCamp 2016 discussing mobile app vulnerabilities, data protection issues, and analysis of security levels across different types of mobile applications.
Cracking AI Black Box - Strategies for Customer-centric Enterprise ExcellenceQuentin Reul
The democratization of Generative AI is ushering in a new era of innovation for enterprises. Discover how you can harness this powerful technology to deliver unparalleled customer value and securing a formidable competitive advantage in today's competitive market. In this session, you will learn how to:
- Identify high-impact customer needs with precision
- Harness the power of large language models to address specific customer needs effectively
- Implement AI responsibly to build trust and foster strong customer relationships
Whether you're at the early stages of your AI journey or looking to optimize existing initiatives, this session will provide you with actionable insights and strategies needed to leverage AI as a powerful catalyst for customer-driven enterprise success.
Choosing the Best Outlook OST to PST Converter: Key Features and Considerationswebbyacad software
When looking for a good software utility to convert Outlook OST files to PST format, it is important to find one that is easy to use and has useful features. WebbyAcad OST to PST Converter Tool is a great choice because it is simple to use for anyone, whether you are tech-savvy or not. It can smoothly change your files to PST while keeping all your data safe and secure. Plus, it can handle large amounts of data and convert multiple files at once, which can save you a lot of time. It even comes with 24*7 technical support assistance and a free trial, so you can try it out before making a decision. Whether you need to recover, move, or back up your data, Webbyacad OST to PST Converter is a reliable option that gives you all the support you need to manage your Outlook data effectively.
Demystifying Neural Networks And Building Cybersecurity ApplicationsPriyanka Aash
In today's rapidly evolving technological landscape, Artificial Neural Networks (ANNs) have emerged as a cornerstone of artificial intelligence, revolutionizing various fields including cybersecurity. Inspired by the intricacies of the human brain, ANNs have a rich history and a complex structure that enables them to learn and make decisions. This blog aims to unravel the mysteries of neural networks, explore their mathematical foundations, and demonstrate their practical applications, particularly in building robust malware detection systems using Convolutional Neural Networks (CNNs).
Welcome to Cyberbiosecurity. Because regular cybersecurity wasn't complicated...Snarky Security
How wonderful it is that in our modern age, every bit of our biological data can be digitized, stored, and potentially pilfered by cyber thieves! Isn't it just splendid to think that while scientists are busy pushing the boundaries of biotechnology, hackers could be plotting the next big bio-data heist? This delightful scenario is brought to you by the ever-expanding digital landscape of biology and biotechnology, where the integration of computer science, engineering, and data science transforms our understanding and manipulation of biological systems.
While the fusion of technology and biology offers immense benefits, it also necessitates a careful consideration of the ethical, security, and associated social implications. But let's be honest, in the grand scheme of things, what's a little risk compared to potential scientific achievements? After all, progress in biotechnology waits for no one, and we're just along for the ride in this thrilling, slightly terrifying, adventure.
So, as we continue to navigate this complex landscape, let's not forget the importance of robust data protection measures and collaborative international efforts to safeguard sensitive biological information. After all, what could possibly go wrong?
-------------------------
This document provides a comprehensive analysis of the security implications biological data use. The analysis explores various aspects of biological data security, including the vulnerabilities associated with data access, the potential for misuse by state and non-state actors, and the implications for national and transnational security. Key aspects considered include the impact of technological advancements on data security, the role of international policies in data governance, and the strategies for mitigating risks associated with unauthorized data access.
This view offers valuable insights for security professionals, policymakers, and industry leaders across various sectors, highlighting the importance of robust data protection measures and collaborative international efforts to safeguard sensitive biological information. The analysis serves as a crucial resource for understanding the complex dynamics at the intersection of biotechnology and security, providing actionable recommendations to enhance biosecurity in an digital and interconnected world.
The evolving landscape of biology and biotechnology, significantly influenced by advancements in computer science, engineering, and data science, is reshaping our understanding and manipulation of biological systems. The integration of these disciplines has led to the development of fields such as computational biology and synthetic biology, which utilize computational power and engineering principles to solve complex biological problems and innovate new biotechnological applications. This interdisciplinary approach has not only accelerated research and development but also introduced new capabilities such as gene editing and biomanufact
The History of Embeddings & Multimodal EmbeddingsZilliz
Frank Liu will walk through the history of embeddings and how we got to the cool embedding models used today. He'll end with a demo on how multimodal RAG is used.
1. Ranjeeth Kathiresan
Senior Software Engineer
rkathiresan@salesforce.com
Scaling HBase for Big Data
Salesforce
Gurpreet Multani
Principal Software Engineer
gmultani@salesforce.com
2. Introduction
Ranjeeth Kathiresan is a Senior Software Engineer at Salesforce, where he
focuses primarily on improving the performance, scalability, and availability of
applications by assessing and tuning the server-side components in terms of
code, design, configuration, and so on, particularly with Apache HBase.
Ranjeeth is an admirer of performance engineering and is especially fond of
tuning an application to perform better.
Gurpreet Multani is a Principal Software Engineer at Salesforce. At Salesforce,
Gurpreet has lead initiatives to scale various Big Data technologies such as Apache
HBase, Apache Solr, Apache Kafka. He is particularly interested in finding ways to
optimize code to reduce bottlenecks, consume lesser resources and achieve more out
of available capacity in the process.
3. Agenda
• HBase @ Salesforce
• CAP Theorem
• HBase Refresher
• Typical HBase Use Cases
• HBase Internals
• Data Loading Use Case
• Write Bottlenecks
• Tuning Writes
• Best Practices
• Q&A
4. HBase @ Salesforce
Typical Cluster
Data Volume
120 TB
Nodes Across All Clusters
2200+
Variety
Simple Row Store
Denormalization
Messaging
Event Log
Analytics
Metrics
Graphs
Cache
5. CAP Theorem
It is impossible for a distributed data store to simultaneously provide more than two out of the following
three guarantees:
Availability
Consistency Partition tolerance
Each client can always
read and write
All clients have the same
view of the data
The system works well despite
physical network partitions
CassandraRDBMS
HBase
6. HBase Refresher
• Distributed database
• Non-relational
• Column-oriented
• Supports compression
• In-memory operations
• Bloom filters on a per-column basis
• Written in Java
• Runs on top of HDFS
“A sparse, distributed, persistent, multidimensional, sorted map”
7. Typical HBase Use Cases
Large Data Volume running into at least hundreds of GBs or more (aka Big Data)
Data access patterns are well known at design time and are not expected to change i.e.
no secondary indexes / joins need to be added at a later stage
RDBMS-like multi-row transactions are not required
Large “working set” of data. Working set = data being accessed or being updated
Multiple versions of data
8. Region Server
Region
HBase Internals
Write Operation
Client
Zookeeper HDFS
Region Server
.META.
Region
WAL
HFile HFile
HFile HFile HFile
Memstore HFile
Store
1. Get .META.
location
2. Get Region
location
3. Put
4. Write
5. Write
Flush
Region Region …..
HFile HFile HFile
…..
…..
Memstore Memstore…..
9. HBase Internals
Compaction
HFile HFile HFile
HFile HFile HFile
HFile HFile …
HFile Main purpose of compaction is to optimize read
performance by reducing the number of disk seeks
Minor Compaction Major Compaction
Trigger: Automatic based on configurations
Mechanism
• Reads a configurable number of smaller HFiles
and writes into a single large HFile
Trigger: Scheduled or Manual
Mechanism
• Reads all HFiles of a region and writes to a
single large HFile
• Physical deletion of records
• Tries to achieve high data locality
11. One of the use cases is to
store and process data in
text format
Lookups from HBase using
row key is more efficient
A subset of data is stored in
Solr for effective lookups
from HBase
Data Loading Overview
Salesforce Application
Transform
Extract
Load
12. Data Insights
Key Details about the data used for processing
Velocity VarietyVolume
500MB
Data Influx/Min
200GB
Data Size/Cycle
Text
Data Format
175K
Records/Min
Throughput SLA
600K
Records/Min
3300GB
HBase Data Size/Cycle
CSV, JSON
Data Format
250MM
Records/Day
13. Write Operation Bottlenecks
Influx Rate:
600K Records/Min
Write Rate
60K Records/Min
Write Operation in
progress for >3 days
Write Rate dropped to <5K
Records/Min after few hours
14. Write Operation Tunings
Improved throughput by ~8 times & achieved ~3 times more than expected throughput
Initial Throughput:
60K Records/Min
Achieved Throughput:
480K Records/Min
Salting Pre-Splitting Optimal Configuration
CompressionRow Size Optimization Optimal Read vs. Write
Consistency Check
15. Region Hot Spotting
Outline: Region Hot Spotting refers to over utilizing a single region server, despite of having
multiple nodes in the cluster, during write operation because of using sequential rowkeys.
Scenario
Not our
turn, Yet!!
Not our
turn, Yet!!
Hey Buddy! I’m
overloaded
Impact
Node1 Node2 Node3
Utilization
Time
17. Salting
Outline: Salting helps to distribute writes over multiple
regions by using random row keys
How do I implement Salting?
Salting is implemented by defining the rowkeys wisely by
adding a salt prefix (random character) to the original key
Two Common ways of salting
• Adding a random number as prefix based on modulo
• Hashing the rowkey
18. Salting
Random number can be identified by performing modulo operation between insertion index and
total buckets
Salted Key = (++index % total buckets) +”_” + Original Key
Prefixing random number
0_1000
0_1003
1_1001
1_1004
2_1002
2_1005
Bucket 1
Bucket 2
Bucket 3
1000
1001
1002
1003
1004
1005
Example with 3 Salt Buckets
KeyPoints
Randomness is provided to some
extent as it depends on insertion
order
Salted keys stored in HBase won’t
be visible to client during lookups
Data
19. Salting
Hashing the entire rowkey or adding a few characters of the hash of rowkey as prefix can be used
to implement salting
Salted Key = hash(Original Key) OR firstNChars(hash(Original Key))+”_”+Original Key
Hashing Rowkey
AtNB/q..
B50SP..
e8aRjL..
ggEw9..
w56syI..
xwer51..
Bucket 1
Bucket 2
Bucket 3
1000
1001
1002
1003
1004
1005
Example with 3 Salt Buckets
KeyPoints
Randomness in the row key is
ensured by hash values
HBase lookups will be effective as
the same hashing function can be
used during lookup
Data
20. Salting
Salting does not resolve Region Hot spotting for the entire write cycle.
Reason: HBase creates only one region by default and uses default auto split policy to create more
regions
AtNB/q..
B50SP..
e8aRjL..
ggEw9..
w56syI..
xwer51..
Bucket 1
1000
1001
1002
1003
1004
1005
Data
Example
Does it help?
Impact
Node1 Node2 Node3
Utilization
Time
22. Pre-Splitting
Outline: Pre-Splitting helps to create multiple regions during table creation which will help to
reap the benefits of salting
How do I pre-split a HBase table?
Pre-splitting can be done by providing split points during table creation
Example: create ‘table_name’, ‘cf_name’, SPLITS => [‘a’ , ‘m’]
AtNB/q..
B50SP..
e8aRjL..
ggEw9..
w56syI..
xwer51..
Bucket 1 [‘’ -> ‘a’]
Bucket 2 [‘a’ -> ‘m’]
Bucket 3 [‘m’ -> ‘’]
1000
1001
1002
1003
1004
1005
Data
26. Configuration Tuning
Outline: Default configurations may not work for all use cases. We need to tune configurations based on
our use case
It is 9!! No. It is 6!!
27. Configuration Tuning
Configuration Purpose
Change
Nature
hbase.regionserver.handler.count
Number of threads in region server used to
process read and write requests
Increased
hbase.hregion.memstore.flush.size
Memstore will be flushed to disk after reaching
the value provided in this configuration
Increased
hbase.hstore.blockingStoreFiles
Flushes will be blocked until compaction reduces
the number of HFiles to this value
Increased
hbase.hstore.blockingWaitTime
Maximum time for which the clients will be
blocked from writing to HBase
Decreased
Following are the key configurations which we have tuned based on our write use case
28. Configuration Tuning
Region Server Handler Count
Region Server
Client
Client
Client
Region
Region
Region
Region
…..
Region Server Handlers (Default Count=10)
TuningBenefitCaution
Increasing it could help in improving
throughput by increasing
concurrency
Thumb Rule -> Low for high payload
and high for low payload
Can increase heap utilization
eventually leading to OOM
High GC pauses impacting the
throughput
29. Configuration Tuning
Region Memstore Size
Region Server
Region
Region
…..
Thread which checks Memstore size
(Default – 128 MB)
TuningBenefitCaution
Increasing Memstore size will
generate larger HFiles which will
minimize compaction impact and
improves throughput
Can increase heap utilization
eventually leading to OOM
High GC pauses impacting the
throughput
HDFS
HFile
Memstore
Memstore
Memstore
HFile
HFile
…..
…..
Memstore
30. Configuration Tuning
HStore Blocking Store Files
Region Server
Region
Region
…..
Default Blocking Store Files - 10
TuningBenefitCaution
Increasing blocking store files will
allow client to write more with less
pauses and improves throughput
Compaction could take more time as
more files could be written without
blocking client
HDFS
HFile
Memstore…..
HFile
HFile
Memstore
HFile
Store
HFile HFile
Client
HFile HFile…..
…..
31. Configuration Tuning
HStore Blocking Wait Time
Region Server
Region
Region
…..
TuningBenefitCaution
Decreasing blocking wait time will
allow client to write more with less
pauses and improves throughput
Compaction could take more time as
more files could be written without
blocking client
HDFS
HFile
Memstore…..
HFile
HFile
Memstore
HFile
Store
HFile HFile
Client
HFile HFile…..
…..
Time for which writes on Region is
blocked (Default – 90 Secs)
34. Optimal Read vs. Write Consistency Check
Multi Version Concurrency Control
Multi Version Concurrency Control (MVCC) is used to achieve row level ACID property in HBase.
Source: https://blogs.apache.org/hbase/entry/apache_hbase_internals_locking_and
Write Steps with MVCC
35. Optimal Read vs. Write Consistency Check
Issue: MVCC stuck after few hours of write operation impacting the write throughput drastically
as there are 140+ columns per row
Scenario Impact
Throughput
Throughput
Records/Min
Time
Write point: I
have a lot to
write
Read point: I
have a lot to
catch up
Read point has to catch up write point to avoid high delay between read and write versions
36. Optimal Read vs. Write Consistency Check
Solution: Reduce the pressure on MVCC by storing all the 140+ columns in a single cell
Scenario
Throughput
Records/Min
Time
Improvement
abc
def
ghi
{
“col1”:”abc”,
“col2”:”def”,
“col3”,”ghi”
}
Column Representation
col1
col2
col3
column
38. Storage Optimization
Storage is one of the important factors impacting scalability of HBase cluster
Write operation throughput is mainly dependent on the average row size as it is an I/O bound
process. Optimizing the storage will help us to achieve more throughput.
Example:
Having a Column Name as “BA_S1” instead of “Billing_Address_Street_Line_Number_One” will help in
reducing the storage and improve write throughput
Column Name #Characters Additional Bytes to each Row
Billing_Address_Street_Line_Number_One 39 78
BA_S1 5 10
40. Compression
Compression is one of the storage optimization technique
Commonly used compression algorithms in HBase
• Snappy
• Gzip
• LZO
• LZ4
Compression Ratio
Gzip compression ratio is better than Snappy and LZO
Resource Consumption
Snappy consumes lesser resources for compression and decompression than Gzip
43. Row Size Optimization
Few columns out of 140+ columns were empty for most of the rows. Storing empty columns in
JSON format will increase the average row size
Solution: Avoid storing empty values when using JSON
Example:
Salesforce Scenario
{“col1”:”abc”,
”col2”:”def”,
”col3”:””,
”col4”:””,
”col5”:”ghi”}
Data
Remove
empty
{“col1”:”abc”,
”col2”:”def”,
”col5”:”ghi”}
Data In HBase
47. Best Practices
Row key design
• Know your data better before pre-splitting
• Shorter row key but long enough for data access
Minimize IO
• Less number of Column Families
• Shorter Column Family and Qualifier name
Locality
• Review the locality of regions periodically
• Co-locate Region server and Data node
Maximize Throughput
• Minimize major compactions
• Use high throughput disk
48. When HBase?
HBase is for you HBase is NOT for you
Random read/write access to high
volumes of data in real time
No dependency on RDBMS features
Variable schema with flexibility to add
columns
Single/Range of key based lookups for
de-normalized data
Multiple versions of Big Data
Replacement for RDBMS
Low data volume
Scanning and aggregation on large
volumes of data
Replacement for batch processing
engines like MapReduce/Spark
Talk about scale and use cases of HBase at Salesforce
Client gets the location of HBase META region from Zookeeper
Client get the table details from HBase META region
Client invokes HBase API to write records in HBase
Region Server writes the records in WAL (Write Ahead Log)
Region Server writes the records in Memstore
Memstore is flushed to HDFS as HFile when the flushing policy is met
Write Amplification: Records will be re-written during compaction as HFiles are immutable
Explain benefit of data locality
Client gets the location of HBase META region from Zookeeper
Client get the table details from HBase META region
Client invokes HBase API to write records in HBase
Region Server fetches the record from block cache in HBase
If the record is not available in block cache then it fetches the record from Memstore
If the record is not available in Memstore then it fetches the record from HFile
Major write bottlenecks were low throughput, instability in achieved throughput and write operation never ended even after 3 days
Write Operation Tunings helped to improve write throughput and stability in HBase
The impact explained here is about the beginning of write cycle.
After more regions gets created, salting may help in distributing the load & utilization to multiple nodes
Salting and Pre-splitting together helped us to improve write operation throughput from 60K to 150K Records/Min
Optimal configuration in HBase yielded higher throughput and reduced resource utilization
Optimal Read vs Write Consistency Check helped to stabilize the write operation throughput and resource utilization
Compression is one of the commonly used approach to reduce storage utilization. It helped to improve throughput and reduce storage utilization
Reducing IO by storing only essential information helped to improve throughput and reduce storage utilization
Optimized various attributes in order to achieve higher write throughput in stable manner. Some of the attributes are applicable for both read and write operation. Tuning for writes does not imply that read operation will be efficient as well. Optimizing HBase for both write and read operation might not be effective.