"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[5338],{3905:(e,a,t)=>{t.d(a,{Zo:()=>u,kt:()=>h});var i=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function r(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,i)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?r(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,i,n=function(e,a){if(null==e)return{};var t,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)t=r[i],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)t=r[i],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=i.createContext({}),d=function(e){var a=i.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},u=function(e){var a=d(e.components);return i.createElement(s.Provider,{value:a},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return i.createElement(i.Fragment,{},a)}},m=i.forwardRef((function(e,a){var t=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=d(t),m=n,h=p["".concat(s,".").concat(m)]||p[m]||c[m]||r;return t?i.createElement(h,l(l({ref:a},u),{},{components:t})):i.createElement(h,l({ref:a},u))}));function h(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var r=t.length,l=new Array(r);l[0]=m;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[p]="string"==typeof e?e:n,l[1]=o;for(var d=2;d<r;d++)l[d]=t[d];return i.createElement.apply(null,l)}return i.createElement.apply(null,t)}m.displayName="MDXCreateElement"},62203:(e,a,t)=>{t.r(a),t.d(a,{contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>d,toc:()=>u});var i=t(87462),n=t(63366),r=(t(67294),t(3905)),l=["components"],o={title:"Powered by Apache Druid"},s=void 0,d={type:"mdx",permalink:"/druid-powered",source:"@site/src/pages/druid-powered.md",title:"Powered by Apache Druid",description:"Powered by Apache Druid",frontMatter:{title:"Powered by Apache Druid"}},u=[{value:"Adikteev",id:"adikteev",level:2},{value:"AdsWizz",id:"adswizz",level:2},{value:"Airbnb",id:"airbnb",level:2},{value:"Airbridge",id:"airbridge",level:2},{value:"Alibaba",id:"alibaba",level:2},{value:"Allegro",id:"allegro",level:2},{value:"Alphaa AI",id:"alphaa-ai",level:2},{value:"Amobee",id:"amobee",level:2},{value:"Apollo GraphQL",id:"apollo-graphql",level:2},{value:"Appsflyer",id:"appsflyer",level:2},{value:"Archive-It.org",id:"archive-itorg",level:2},{value:"Athena Health",id:"athena-health",level:2},{value:"Atomx",id:"atomx",level:2},{value:"Autonomic",id:"autonomic",level:2},{value:"Avesta Technologies",id:"avesta-technologies",level:2},{value:"BIGO",id:"bigo",level:2},{value:"Billy Mobile",id:"billy-mobile",level:2},{value:"Blis",id:"blis",level:2},{value:"Blueshift",id:"blueshift",level:2},{value:"Booking.com",id:"bookingcom",level:2},{value:"Branch",id:"branch",level:2},{value:"British Telecom (BT)",id:"british-telecom-bt",level:2},{value:"Central Bank of the Republic of Turkey",id:"central-bank-of-the-republic-of-turkey",level:2},{value:"Charter Communications",id:"charter-communications",level:2},{value:"CircleHD",id:"circlehd",level:2},{value:"Cisco",id:"cisco",level:2},{value:"Cond\xe9 Nast",id:"cond\xe9-nast",level:2},{value:"Confluent",id:"confluent",level:2},{value:"Contiamo",id:"contiamo",level:2},{value:"Criteo",id:"criteo",level:2},{value:"CrunchMetrics",id:"crunchmetrics",level:2},{value:"Cuebook",id:"cuebook",level:2},{value:"DBS Bank",id:"dbs-bank",level:2},{value:"Dataroid",id:"dataroid",level:2},{value:"Datumo",id:"datumo",level:2},{value:"Deep.BI",id:"deepbi",level:2},{value:"Deema.agency",id:"deemaagency",level:2},{value:"Delta Projects",id:"delta-projects",level:2},{value:"Didi Chuxing",id:"didi-chuxing",level:2},{value:"Dream11",id:"dream11",level:2},{value:"Easemob",id:"easemob",level:2},{value:"eBay",id:"ebay",level:2},{value:"Expedia",id:"expedia",level:2},{value:"FacilityConneX",id:"facilityconnex",level:2},{value:"Fanatics",id:"fanatics",level:2},{value:"Finin",id:"finin",level:2},{value:"Flipkart",id:"flipkart",level:2},{value:"Flurry Analytics",id:"flurry-analytics",level:2},{value:"FullContact",id:"fullcontact",level:2},{value:"Fyber",id:"fyber",level:2},{value:"GameAnalytics",id:"gameanalytics",level:2},{value:"Glia",id:"glia",level:2},{value:"GumGum",id:"gumgum",level:2},{value:"Hawk",id:"hawk",level:2},{value:"Hexaglobe",id:"hexaglobe",level:2},{value:"Hubvisor",id:"hubvisor",level:2},{value:"Hulu",id:"hulu",level:2},{value:"ICSOC Co., Ltd.",id:"icsoc-co-ltd",level:2},{value:"Ibotta",id:"ibotta",level:2},{value:"Imply",id:"imply",level:2},{value:"Inke",id:"inke",level:2},{value:"Inmobi",id:"inmobi",level:2},{value:"Innowatts",id:"innowatts",level:2},{value:"Interactive Intelligence",id:"interactive-intelligence",level:2},{value:"ironSource",id:"ironsource",level:2},{value:"Italiaonline",id:"italiaonline",level:2},{value:"Jolata",id:"jolata",level:2},{value:"Kering",id:"kering",level:2},{value:"KT NexR",id:"kt-nexr",level:2},{value:"LDMobile",id:"ldmobile",level:2},{value:"Libra AI Technologies &amp; PaperGo",id:"libra-ai-technologies--papergo",level:2},{value:"LifeBuzz",id:"lifebuzz",level:2},{value:"LiquidM",id:"liquidm",level:2},{value:"Lohika",id:"lohika",level:2},{value:"Lyft",id:"lyft",level:2},{value:"Lynx Analytics",id:"lynx-analytics",level:2},{value:"MakeMyTrip",id:"makemytrip",level:2},{value:"MAKESENS",id:"makesens",level:2},{value:"Marchex",id:"marchex",level:2},{value:"Metamarkets",id:"metamarkets",level:2},{value:"Millersoft",id:"millersoft",level:2},{value:"Mindhouse",id:"mindhouse",level:2},{value:"Mobiauto",id:"mobiauto",level:2},{value:"Monetate",id:"monetate",level:2},{value:"mParticle",id:"mparticle",level:2},{value:"MZ",id:"mz",level:2},{value:"N3twork",id:"n3twork",level:2},{value:"Naver",id:"naver",level:2},{value:"Netflix",id:"netflix",level:2},{value:"Netsil",id:"netsil",level:2},{value:"Nielsen (Nielsen Marketing Cloud)",id:"nielsen-nielsen-marketing-cloud",level:2},{value:"Nodex",id:"nodex",level:2},{value:"Noon",id:"noon",level:2},{value:"NTT Com",id:"ntt-com",level:2},{value:"Ocean IT",id:"ocean-it",level:2},{value:"Ona",id:"ona",level:2},{value:"OneAPM",id:"oneapm",level:2},{value:"Oppo",id:"oppo",level:2},{value:"Optimizely",id:"optimizely",level:2},{value:"Outbrain",id:"outbrain",level:2},{value:"Paypal",id:"paypal",level:2},{value:"PayU",id:"payu",level:2},{value:"Pinterest",id:"pinterest",level:2},{value:"Play Games24x7",id:"play-games24x7",level:2},{value:"Plumbr",id:"plumbr",level:2},{value:"Pollfish",id:"pollfish",level:2},{value:"Poshmark",id:"poshmark",level:2},{value:"Preset",id:"preset",level:2},{value:"PubNative",id:"pubnative",level:2},{value:"Quantiply",id:"quantiply",level:2},{value:"Raygun",id:"raygun",level:2},{value:"Razorpay",id:"razorpay",level:2},{value:"Redborder",id:"redborder",level:2},{value:"Reddit",id:"reddit",level:2},{value:"Retargetly",id:"retargetly",level:2},{value:"Rill Data",id:"rill-data",level:2},{value:"Roambee",id:"roambee",level:2},{value:"Rovio",id:"rovio",level:2},{value:"Rubicon Project",id:"rubicon-project",level:2},{value:"Sage + Archer",id:"sage--archer",level:2},{value:"Salesforce",id:"salesforce",level:2},{value:"Scalac",id:"scalac",level:2},{value:"Shopee",id:"shopee",level:2},{value:"Shopify",id:"shopify",level:2},{value:"Sift Science",id:"sift-science",level:2},{value:"SigNoz",id:"signoz",level:2},{value:"Sina Weibo",id:"sina-weibo",level:2},{value:"Singular",id:"singular",level:2},{value:"SK Telecom",id:"sk-telecom",level:2},{value:"Skimlinks",id:"skimlinks",level:2},{value:"Skyport Systems",id:"skyport-systems",level:2},{value:"Slack",id:"slack",level:2},{value:"Smart Bid",id:"smart-bid",level:2},{value:"Smyte",id:"smyte",level:2},{value:"Snap, Inc.",id:"snap-inc",level:2},{value:"Societe Generale",id:"societe-generale",level:2},{value:"Splunk",id:"splunk",level:2},{value:"SpotX",id:"spotx",level:2},{value:"Streamlyzer",id:"streamlyzer",level:2},{value:"Sugo",id:"sugo",level:2},{value:"SuperAwesome",id:"superawesome",level:2},{value:"Sweet Couch",id:"sweet-couch",level:2},{value:"Swisscom",id:"swisscom",level:2},{value:"TalkingData",id:"talkingdata",level:2},{value:"Target",id:"target",level:2},{value:"TelemetryDeck Analytics",id:"telemetrydeck-analytics",level:2},{value:"Tencent",id:"tencent",level:2},{value:"Time Warner Cable",id:"time-warner-cable",level:2},{value:"TrafficGuard",id:"trafficguard",level:2},{value:"Trendyol.com - Alibaba Group Company",id:"trendyolcom---alibaba-group-company",level:2},{value:"TripleLift",id:"triplelift",level:2},{value:"TripStack",id:"tripstack",level:2},{value:"Triton Digital",id:"triton-digital",level:2},{value:"TrueCar",id:"truecar",level:2},{value:"Trustpilot",id:"trustpilot",level:2},{value:"Twitch",id:"twitch",level:2},{value:"Twitter",id:"twitter",level:2},{value:"Unity",id:"unity",level:2},{value:"Verizon",id:"verizon",level:2},{value:"VideoAmp",id:"videoamp",level:2},{value:"Vigiglobe",id:"vigiglobe",level:2},{value:"ViralGains",id:"viralgains",level:2},{value:"Virool",id:"virool",level:2},{value:"Vserv",id:"vserv",level:2},{value:"WalkMe",id:"walkme",level:2},{value:"Walmart",id:"walmart",level:2},{value:"WeQ",id:"weq",level:2},{value:"WhyLabs",id:"whylabs",level:2},{value:"Wikimedia Foundation",id:"wikimedia-foundation",level:2},{value:"Wipro",id:"wipro",level:2},{value:"Wiremind",id:"wiremind",level:2},{value:"Xiaomi",id:"xiaomi",level:2},{value:"Yahoo",id:"yahoo",level:2},{value:"YeahMobi",id:"yeahmobi",level:2},{value:"Yieldr",id:"yieldr",level:2},{value:"Youku Tudou",id:"youku-tudou",level:2},{value:"Youzan",id:"youzan",level:2},{value:"Zapr",id:"zapr",level:2},{value:"Zeotap",id:"zeotap",level:2},{value:"Zhihu",id:"zhihu",level:2},{value:"Zilingo",id:"zilingo",level:2},{value:"Zscaler",id:"zscaler",level:2},{value:"Zuoyebang",id:"zuoyebang",level:2}],p={toc:u},c="wrapper";function m(e){var a=e.components,t=(0,n.Z)(e,l);return(0,r.kt)(c,(0,i.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("div",{class:"simple-header"},(0,r.kt)("div",{class:"container"},(0,r.kt)("h1",null,"Powered by Apache Druid"))),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("a",{href:"https://github.com/apache/druid-website-src/blob/master/src/pages/druid-powered.md"},(0,r.kt)("span",{class:"fa fa-plus"})," Add your company")),(0,r.kt)("p",null,"There are numerous companies of various sizes in production with Druid. Some of them are listed below."),(0,r.kt)("h2",{id:"adikteev"},"Adikteev"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.adikteev.com"},"Adikteev")," is the leading mobile app re-engagement platform for performance-driven marketers, and is consistently ranked in the top 5 of the AppsFlyer Performance Index. By using Druid instead of relying on slow and stale dashboards, we have been able to achieve internal productivity gains, make better decisions faster, provide our external clients with strategic advice to improve the performance and effectiveness of their retargeting marketing campaigns, and notify clients quickly of potentially serious problems. "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/how-adikteev-helps-customers-succeed-using-self-service-analytics"},"How Adikteev helps customers succeed using self-service analytics")," (Margot Miller), ",(0,r.kt)("em",{parentName:"li"},"Imply Blog"),", 20 Aug 2020.")),(0,r.kt)("h2",{id:"adswizz"},"AdsWizz"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.adswizz.com/"},"AdsWizz")," is the leading global digital audio advertising solution provider, enabling the effective monetization and personalization of digital audio through a complete suite of advertising and analytics solutions. "),(0,r.kt)("p",null,"We use Druid as the core analytics engine, which powers a multitude of real-time dashboards and widgets, used both by customers and internal staff. Sub-second query response times, the removal of obsolete data cubes, ad-hoc analytics and the seamless integration of historical and real-time data are the main reasons we have chosen Druid. Advertisers, agencies and publishers can get insights on hundreds of metrics and dimensions specific to the advertising industry, having the possibility to slice and dice the data according to their needs."),(0,r.kt)("h2",{id:"airbnb"},"Airbnb"),(0,r.kt)("p",null,"Druid powers slice and dice analytics on both historical and realtime-time metrics. It significantly reduces latency of analytic queries and help people to get insights more interactively."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://medium.com/airbnb-engineering/druid-airbnb-data-platform-601c312f2a4c"},"How Druid enables analytics at Airbnb")," (Pala Muthiah, Jinyang Li), ",(0,r.kt)("em",{parentName:"p"},"The AirBnb Tech Blog ","[Medium]"),", 13 Nov 2018.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://medium.com/airbnb-engineering/how-airbnb-achieved-metric-consistency-at-scale-f23cc53dea70"},"How Airbnb Achieved Metric Consistency at Scale")," (Amit Pahwa, Cristian Figueroa, Donghan Zhang, Haim Grosman, John Bodley, Jonathan Parks, Maggie Zhu, Philip Weiss, Robert Chang, Shao Xie, Sylvia Tomiyama, Xiaohui Sun), ",(0,r.kt)("em",{parentName:"p"},"The AirBnb Tech Blog ","[Medium]"),", 30 Apr 2021."))),(0,r.kt)("h2",{id:"airbridge"},"Airbridge"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://airbridge.io"},"Airbridge")," is an people-based attribution and omni-channel campaign analytics platform helping marketers measure and optimize their marketing campaigns. Thanks to Druid's data aggregation technology, marketers using Airbridge are able to receive real-time granular reports regarding their campaign's performance executed across a variety of devices, platforms, and channels."),(0,r.kt)("h2",{id:"alibaba"},"Alibaba"),(0,r.kt)("p",null,"Druid is widely used in different business units of Alibaba Group."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"At Alibaba Search Group, Druid is used to power real-time analytics of users' interaction with its popular e-commerce site.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"At Alibaba Cloud, Druid powers its ",(0,r.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/doc-detail/201882.html"},"E-MapReduce")," cloud service, which is a big data platform based on open source engines such as Hadoop. See ",(0,r.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/doc-detail/72987.html"},"E-MapReduce Druid")," for more details.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"At its Local Services Business Unit, Druid is responsible for realtime application performance monitoring and alerting. More details can be found in ",(0,r.kt)("a",{parentName:"p",href:"https://druid.org.cn/?p=91"},"this blog")," (Chinese)."))),(0,r.kt)("h2",{id:"allegro"},"Allegro"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://allegro.tech/"},"Allegro")," is the most popular Polish shopping destination with about 14 million users monthly and over 1.5 million items sold on the platform daily.\nWe have been using Druid since 2016 as business intelligence platform to power our clickstream analytics, marketing automation, anomaly detection, technical metrics and more.\nOur cluster (432 CPUs, 1300GB of RAM on historicals) processes billions of realtime events loaded from ",(0,r.kt)("a",{parentName:"p",href:"https://kafka.apache.org/"},"Kafka"),"\nand hundreds batch indexing jobs on daily basis.\nIt's a pleasure to work with Druid, extraordinarily efficient and exceptionally stable platform with vibrant community."),(0,r.kt)("h2",{id:"alphaa-ai"},"Alphaa AI"),(0,r.kt)("p",null,"We leverage Apache Druid in conjunction with the Alphaa AI Super AI NLP Engine to implement Natural Language Query on billions of rows of data for Alphaa Cloud customers."),(0,r.kt)("h2",{id:"amobee"},"Amobee"),(0,r.kt)("p",null,"Today\u2019s consumers move across screens with ease. But advertisers and media companies alike struggle to unify audiences and optimize media investment. Only ",(0,r.kt)("a",{parentName:"p",href:"https://www.amobee.com/"},"Amobee")," brings it all together. We give you the power to bridge these silos with end-to-end solutions that help brands, agencies, and media companies optimize the consumer experience across linear TV, connected TV and digital, including social. You are in control, finding the audiences you seek and getting the performance that you need to drive meaningful results for your business. Our loyal customers have achieved dramatic performance improvements and efficiencies by holistically optimizing their full portfolio of media against strategic, in-market audiences. Together, these beloved household brands and premium media providers have made Amobee a world leading advertising & premium media management platform. Why? Like us, they believe that when all media investment can be mapped to business outcomes, everyone wins -- including the consumer."),(0,r.kt)("p",null,"Amobee provides advertising solutions across tv, digital and social platforms. Amobee has massive incoming data, with customers requiring reporting analytics across unbounded combinations of use cases. Amobee uses Druid to power such intense customer needs via quick response dashboards and offline reports in Amobee\u2019s Platform UI, as well as queries from demanding automated systems. Specifically, we love that Druid allows convergence of many data streams via its robust ingestion, parallel aggregation, redundant storage and concurrent query mechanisms."),(0,r.kt)("h2",{id:"apollo-graphql"},"Apollo GraphQL"),(0,r.kt)("p",null,'Apollo uses Druid to power our "Graph Manager" SaaS service, which helps application developers manage, validate and secure their organization\u2019s data graph. In addition to managing the evolution of their GraphQL schema, users can draw insights from the operations metadata and execution trace data that are sent to our service, indexed, and stored in Druid.'),(0,r.kt)("h2",{id:"appsflyer"},"Appsflyer"),(0,r.kt)("p",null,"Druid is the major player in the real-time analytics pipeline at Appsflyer, and it serves as customer facing analytics database for dashboard reporting."),(0,r.kt)("h2",{id:"archive-itorg"},"Archive-It.org"),(0,r.kt)("p",null,"Druid is used to power dynamic analytics and charting in Archive-It Reports. Reports help Archive-It partners understand what content they captured, why some content did not get captured, and assists with quality assurance and crawl scoping to ensure they are building the highest quality collections."),(0,r.kt)("h2",{id:"athena-health"},"Athena Health"),(0,r.kt)("p",null,"At ",(0,r.kt)("a",{parentName:"p",href:"https://www.athenahealth.com/"},"Athena Health"),", we are creating a new performance management application for our clients, and one of its key components is Apache Druid. "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/XGzMJBM8xeg"},"Automating CI/CD for Druid Clusters at Athena Health")," (Shyam Mudambi, Ramesh Kempanna, Karthik Urs), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[YouTube]"),", 16 Apr 2020.")),(0,r.kt)("h2",{id:"atomx"},"Atomx"),(0,r.kt)("p",null,"Atomx is a new media exchange that connects networks, DSPs, SSPs, and other parties. Atomx uses Druid for it's advanced realtime reporting system. Using the Google Cloud modifications Atomx contributed to Druid, it can easily scale Druid with the fast growing platform."),(0,r.kt)("h2",{id:"autonomic"},"Autonomic"),(0,r.kt)("p",null,"Autonomic Transportation Mobility Cloud (TMC) is the first industry open cloud platform for transportation and mobility data. One of our missions is to enable our customers to easily explore a tremendous amount of data and draw valuable insights in a timely fashion. To meet these needs, we deploy Apache Druid in our platform to aggregate and process time series data. Each component in Druid is running as an individual microservices, and can be easily deployed, managed, and scaled independently in our Kubernetes clusters. "),(0,r.kt)("h2",{id:"avesta-technologies"},"Avesta Technologies"),(0,r.kt)("p",null,"At ",(0,r.kt)("a",{parentName:"p",href:"https://avestatechnologies.com/"},"Avesta"),", we use Druid as a central component in our cloud data platform to provide real-time analytics solutions to our clients. We are using Druid for Customer Data Analytics and extending it for Industrial IoT and Market Automation use cases. Druid has not only proven itself to be resilient and performant but has also helped our clients save enormous amounts in cloud and licensing costs."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/community-spotlight-staying-true-to-open-source-roots-at-avesta"},"Community Spotlight: staying true to open-source roots at Avesta")," (Dharam Gajera,Peter Marshall, Jelena Zanko), ",(0,r.kt)("em",{parentName:"li"},"Imply Blog"),", 25 May 2021.")),(0,r.kt)("h2",{id:"bigo"},"BIGO"),(0,r.kt)("p",null,"BIGO selects Druid as an OLAP engine to analyze app(Like, Bigolive, IMO, etc.) data in bigdata team. Typical analysis in Druid includes apm, A/B testing, push, funnel model, etc. Besides, Superset is used as dashboard for deep integration with Druid."),(0,r.kt)("h2",{id:"billy-mobile"},"Billy Mobile"),(0,r.kt)("p",null,"Billy Mobile is a mobile advertising platform, excelling in the performance-based optimisation segment. We use Druid to power our real-time analytics dashboards, in which our publishers, advertisers and staff can get insights on how their campaigns, offers and traffic are performing, with sub-second query time and minute granularity . We are using a lambda-architecture aproach, ingesting the traffic in real time with Tranquility and Storm, and a batch layer via a tight integration with Hive and Hadoop, our Master Data Set. This way we can provide crucial fast access to data, while making sure to have the right numbers."),(0,r.kt)("h2",{id:"blis"},"Blis"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.blis.com"},"Blis")," is the trusted leader in location-powered advertising and analytics, helping brands understand, reach and engage consumers globally to deliver measurable results. The operations team uses Druid to manage media purchases and make intelligent pricing decisions. The analytic insights team, which helps customers maximize their value from Blis, uses Druid to discover opportunities and tell data-driven stories about their campaigns. Engineering and product teams use Druid to keep an eye on revenue and margin, with the ability to drill into unexpected changes."),(0,r.kt)("h2",{id:"blueshift"},"Blueshift"),(0,r.kt)("p",null,"Blueshift is an AI-powered customer data activation platform enabling CRM and product marketers to intelligently manage their audiences and orchestrate large-scale personalized messaging campaigns at scale. Blueshift offers real-time campaign analytics in the product powered by Druid. Additionally, we use the same analytics backend to power automatic traffic allocation capabilities using Bayesian bandits, perform cohort analysis over multiple dimensions, and generate internal reports to measure the impact of ROI of AI across different types of campaigns and industry verticals. "),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},'"We operate a multi-tenant Druid cluster in AWS. Additionally, we have integrated our data lake (Hive/Hbase) with Druid to manage data backfills."')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/blueshift-scaling-real-time-campaign-analytics-apache-druid"},"Blueshift: Scaling real-time campaign analytics with Apache Druid")," (Anuraj Pandey), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 8 Aug 2019.")),(0,r.kt)("h2",{id:"bookingcom"},"Booking.com"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/9GE3yiVo1FM"},"Data Engineering At Booking.com: a case study")," (Andreas Kretz), ",(0,r.kt)("em",{parentName:"li"},"YouTube"),", 15 Mar 2019.")),(0,r.kt)("h2",{id:"branch"},"Branch"),(0,r.kt)("p",null,"Branch uses Druid as their trusted analytics engine to power all of their data analysis needs. This ranges from the user-facing Branch Dashboard analytics that our partners rely on to gain insight into the performance of their links; to the data-driven business decisions that we need to make internally to build a sustainable business."),(0,r.kt)("h2",{id:"british-telecom-bt"},"British Telecom (BT)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/QZUunUDQ8p4"},"How Druid powers real-time analytics at BT")," (Pankaj Tiwari), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[YouTube]"),", 17 Apr 2020.")),(0,r.kt)("h2",{id:"central-bank-of-the-republic-of-turkey"},"Central Bank of the Republic of Turkey"),(0,r.kt)("p",null,"The Central Bank of the Republic of Turkey addresses the challenge of analyzing and interpreting real-time tick data related to money market instruments using Apache Druid and Superset."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/o0JsVwFEdtA"},"Developing High Frequency Indicators Using Real-Time Tick Data on Apache Superset and Druid")," (Zekeriya Besiroglu, Emre Tokel, Kerem Ba\u015fol, M. Ya\u011fmur. \u015eahin), ",(0,r.kt)("em",{parentName:"li"},"DataWorks Summit ","[YouTube]"),", 21 Mar 2019.")),(0,r.kt)("h2",{id:"charter-communications"},"Charter Communications"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://speakerdeck.com/implydatainc/druid-at-charter"},"Druid at Charter Spectrum")," (Nate Vogel, Andy Amick), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[SlideShare]"),", 24 Jan 2019.")),(0,r.kt)("h2",{id:"circlehd"},"CircleHD"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.circlehd.com"},"CircleHD")," is an enterprise video enablement platform, used by businesses for training, sales enablement and digital learning experience. CircleHD uses Druid to power the analytics system that provides real-time insight into adoption, usage and engagement."),(0,r.kt)("h2",{id:"cisco"},"Cisco"),(0,r.kt)("p",null,"Cisco uses Druid to power a real-time analytics platform for network flow data."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.networkworld.com/article/3086250/under-the-hood-of-cisco-s-tetration-analytics-platform.html"},"Under the hood of Cisco\u2019s Tetration Analytics platform")," (Brandon Butler), ",(0,r.kt)("em",{parentName:"li"},"Network World"),", 20 Jun 2016.")),(0,r.kt)("h2",{id:"cond\xe9-nast"},"Cond\xe9 Nast"),(0,r.kt)("p",null,"Cond\xe9 Nast uses Druid to track billions of events across our two dozen brands, both in real time and historically. Druid helps power dashboards, site performance trackers, and many other internal applications."),(0,r.kt)("h2",{id:"confluent"},"Confluent"),(0,r.kt)("p",null,"Druid has helped push operational visibility to the next level. Operating multi-tenant services requires fine-grained visibility down to the individual tenant, user, or application behavior, where most traditional monitoring stacks fail to scale or become cost-prohibitive. Leveraging Druid as part of our stack means we don't shy away from high-cardinality data. As a result, our teams can not only quickly troubleshoot issues but also glean detailed understanding to help improve the product.\t"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.confluent.io/blog/scaling-apache-druid-for-real-time-cloud-analytics-at-confluent/"},"Scaling Apache Druid for Real-Time Cloud Analytics at Confluent")," (Zohreh Karimi, Harini Rajendran), ",(0,r.kt)("em",{parentName:"li"},"Confluent Blog"),", 8 Nov 2021.")),(0,r.kt)("h2",{id:"contiamo"},"Contiamo"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.contiamo.com"},"Contiamo")," uses cutting edge technology to enable agile development and deployment of data-driven frontends and automations. Druid powers various dashboards and frontends that deal with large amounts of event based data."),(0,r.kt)("h2",{id:"criteo"},"Criteo"),(0,r.kt)("p",null,"Criteo is using druid to provide its customers with user-centric analytics & reporting.\nWith more than 1 billion unique users reached per month, 3 billion ads displayed per day, and a 70% growth in 2014, Criteo's previous stack was hard pressed keeping with the load. Replacing it with druid helped us achieved linear scalability while letting our customers explore their data in new and interactive ways."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://labs.criteo.com/2016/02/real-time-metrics-on-tracker-calls/"},"Real Time Metrics on Tracker Calls")," (Camille Coueslant, Benoit Jehanno), ",(0,r.kt)("em",{parentName:"li"},"Criteo Engineering"),", 18 Feb 2016.")),(0,r.kt)("h2",{id:"crunchmetrics"},"CrunchMetrics"),(0,r.kt)("p",null,"CrunchMetrics has fully integrated their platform with Apache Druid, designed to quickly ingest massive quantities of event data, and provide low-latency queries on top of the data. With the new integration, customers can gain real-time, intelligent insights from streaming data. This development is in line with the current scalability requirements of 5G and the digital intensification we are all experiencing."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.crunchmetrics.ai/blog/crunchmetrics-year-in-review-2020-a-year-that-was-an-anomaly-in-itself/"},"CrunchMetrics Year in Review 2020: A Year That Was an Anomaly in Itself!")," (Rohit Maheshwari), ",(0,r.kt)("em",{parentName:"li"},"CrunchMetrics website"),", 30 Dec 2020.")),(0,r.kt)("h2",{id:"cuebook"},"Cuebook"),(0,r.kt)("p",null,"At ",(0,r.kt)("a",{parentName:"p",href:"https://cuebook.ai/"},"Cuebook"),", Druid serves as the analytics database for our augmented analytics product."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/augmented-analytics-on-business-metrics-by-cuebook"},"Augmented analytics on business metrics by Cuebook with Apache Druid")," (Sachin Bansal, Peter Marshall), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 18 Aug 2021.")),(0,r.kt)("h2",{id:"dbs-bank"},"DBS Bank"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.dbs.com"},"DBS")," is using Apache Druid to handle the AML investigation for the compliance team. The AML (anti-money laundering) workflow generates alerts which are tracked within Druid. The transactional data is ingested from RDBMS to S3 and ingested back to Druid at regular intervals. Investigators can now slice and dice over millions of data with low latency."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/Ly3HFbbEihQ"},"Holistic AML compliance using Apache Druid")," (Arpit Dubey), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[YouTube]"),", 15 Apr 2020.")),(0,r.kt)("h2",{id:"dataroid"},"Dataroid"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.dataroid.com/"},"Dataroid")," is a digital analytics and customer engagement platform helping brands to understand their users' interactions with their digital assets in details and deliver a better experience with data-driven insights. "),(0,r.kt)("p",null,"Druid powers Dataroid analytics dashboards allowing our customers to interactively deep dive into behavioral and performance data and explore hundreds of metrics in real time."),(0,r.kt)("h2",{id:"datumo"},"Datumo"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://datumo.io/"},"Datumo")," is a 100% remote Big Data software house from Poland.\nWe are co-authors of ",(0,r.kt)("a",{parentName:"p",href:"https://allegro.tech/2018/10/turnilo-lets-change-the-way-people-explore-big-data.html"},"Turnilo")," - an open-source data exploration tool for Druid.\nOur analytics platform ",(0,r.kt)("a",{parentName:"p",href:"https://datumo.io/#product"},"Storyteller")," uses power of Apache Druid and Turnilo to help our clients analyze large datasets in interactive manner.\nOur biggest Druid deployment is responsible for real-time monitoring and data processing of a large video streaming platform (60 000 Events Per Second)."),(0,r.kt)("h2",{id:"deepbi"},"Deep.BI"),(0,r.kt)("p",null,"At ",(0,r.kt)("a",{parentName:"p",href:"https://www.deep.bi"},"Deep.BI")," we track user habits, engagement, product and content performance \u2014 processing up to terabytes or billions of events of data daily. Our goal is to provide real-time insights based on custom metrics from a variety of self-created dimensions. To accomplish this, our system collects every user interaction. We use Apache Flink for event enrichment, custom transformations, aggregations and serving machine learning models. The processed data is then indexed by Apache Druid for real-time analytics and our custom UI built on top of Druid and Apache Cassandra for delivery of the scores."),(0,r.kt)("p",null,"Our talk from FlinkForward conference in Berlin 2019:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/deep-bi/real-time-stream-analytics-and-user-scoring-using-apache-druid-flink-cassandra-at-deep-bi-38e5dc40958d"},"Real-time Stream Analytics and User Scoring Using Apache Druid, Flink & Cassandra at Deep.BI")," (Hisham Itani), ",(0,r.kt)("em",{parentName:"li"},"Medium"),", 24 Mar 2020.")),(0,r.kt)("h2",{id:"deemaagency"},"Deema.agency"),(0,r.kt)("p",null,"Deema Agency Delivers Results\nAs a leading digital advertising agency in Iran, we design, run and optimize performance and awareness-based digital campaigns for businesses and help them to achieve their goals. With state of the art programmatic advertising technology, extensive ad network, and advanced advertising platforms, we deliver your brand message to your target audience in Iran in the most effective way .\nWe are challenging with the intensive data stream realtime for analytics and better experience with data-driven insights.\nDruid powers our applications related metrics and helps us slice and dice analytics on both historical and realtime metrics."),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://deema.agency"},"Deema.agency")),(0,r.kt)("h2",{id:"delta-projects"},"Delta Projects"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.deltaprojects.com"},"Delta Projects")," uses Druid to power real-time audience and advertising analytics interfaces."),(0,r.kt)("h2",{id:"didi-chuxing"},"Didi Chuxing"),(0,r.kt)("p",null,"Didi Chuxing is the world\u2019s largest mobile transportation platform, offering a full range of commuting options to 400 cities in China.\nDidi uses Druid as a core component of our real-time bigdata processing pipeline. Druid powers Didi's real-time monitor system which has hundreds of key business metrics. We are deep impressed by Druid's fast aggregations and sub-second OLAP queries. With Druid, we can get insights from data in real-time."),(0,r.kt)("h2",{id:"dream11"},"Dream11"),(0,r.kt)("p",null,"Dream11 is consuming data from Apache Druid, Amazon Redshift, and Athena and building models on Looker to report user concurrency, to track user journeys, and to build interaction events based funnels."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/@D11Engg/data-highway-dream11s-inhouse-analytics-platform-the-burden-and-benefits-90b8777d282"},"Data Highway \u2014 Dream11\u2019s Inhouse Analytics Platform \u2014 The Burden and Benefits")," (Lavanya Pulijala), ",(0,r.kt)("em",{parentName:"li"},"Dream11 Engineering ","[Medium]"),", 27 Jan 2020.")),(0,r.kt)("h2",{id:"easemob"},"Easemob"),(0,r.kt)("p",null,"Easemob Technologies, Inc. is the leading provider of open IM platform, cloud computing customer services. We enable PaaS services for Instant Messaging and SaaS services for Mobile Customer Service."),(0,r.kt)("h2",{id:"ebay"},"eBay"),(0,r.kt)("p",null,"eBay uses Druid to aggregate multiple data streams for real-time user behavior analytics by ingesting up at a very high rate(over 100,000 events/sec), with the ability to query or aggregate data by any random combination of dimensions, and support over 100 concurrent queries without impacting ingest rate and query latencies."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://tech.ebayinc.com/engineering/monitoring-at-ebay-with-druid/"},"Monitoring at eBay with Druid")," (Garadi Mohan), ",(0,r.kt)("em",{parentName:"li"},"eBay Big Data Engineering"),", 29 May 2019."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://tech.ebayinc.com/engineering/embedded-druid-leveraging-druid-capabilities-in-stand-alone-applications/"},"embedded-druid: Leveraging Druid Capabilities in Stand-alone Applications")," (Ruchir Shah), ",(0,r.kt)("em",{parentName:"li"},"eBay Big Data Engineering"),", 5 Feb 2016."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://blog.csdn.net/ebay/article/details/50205611"},"A glance of Pulsar and Druid")," (Xiaoming Zhang), ",(0,r.kt)("em",{parentName:"li"},"eBay Big Data Engineering"),", 7 Dec 2015.")),(0,r.kt)("h2",{id:"expedia"},"Expedia"),(0,r.kt)("p",null,"Expedia built real-time customer segmentation into the Expedia Data Platform using Druid as its core component. It helps business and data science teams identify customers using many different criteria. "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/expedia-group-tech/fast-approximate-counting-using-druid-and-datasketch-f5f163131acd"},"Fast Approximate Counting Using Druid and Datasketch")," (Elan Halfin, Aravind Sethurathnam), ",(0,r.kt)("em",{parentName:"li"},"Expedia Group Technology ","[Medium]"),", 10 Dec 2020.")),(0,r.kt)("h2",{id:"facilityconnex"},"FacilityConneX"),(0,r.kt)("p",null,"One of our key goals at ",(0,r.kt)("a",{parentName:"p",href:"https://www.facilityconnex.com/"},"FacilityConneX")," is to offer real-time insights that help our customers optimize their equipment or processes, reduce cost, or prevent incidents, to ultimately improve our customers business. This ",(0,r.kt)("em",{parentName:"p"},"real-time")," requirement has always been a major technical challenge to scale within our SaaS environment. FacilityConneX has looked to ",(0,r.kt)("strong",{parentName:"p"},"Druid")," to help solve many of these challenging performance and growth issues."),(0,r.kt)("h2",{id:"fanatics"},"Fanatics"),(0,r.kt)("p",null,"Druid powers our applications related metrics and helps us slice and dice analytics on both historical and realtime-time metrics. It significantly reduces latency of analytic queries and help people to get insights more interactively. Through druid data we can now do anomaly detection as well."),(0,r.kt)("h2",{id:"finin"},"Finin"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://finin.in/"},"Finin")," is India\u2019s first ever consumer-facing neobank. They're using Apache Druid as a backend for analytics, helping the company with clickstream analytics, user activity and behaviour as well as application performance management. "),(0,r.kt)("h2",{id:"flipkart"},"Flipkart"),(0,r.kt)("p",null,"At Flipkart, business and analytics teams need constant visibility into how the users are interacting with the platform across all channels \u2013 website, mobile apps and m-site. They are using Druid to power their real-time clickstream analytics reports that enable their business teams to make critical decisions based on current traffic patterns and plan automated as well as manual interventions for traffic shaping."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=vCk1zRxbAnM"},"Clickstream Analytics with Apache Druid"))),(0,r.kt)("h2",{id:"flurry-analytics"},"Flurry Analytics"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.flurry.com"},"Flurry")," is a mobile app analytics platform that empowers product, development and growth experts to build better apps that users love. Mobile data hits the Flurry backend at a huge rate, updates statistics across hundreds of dimensions, and becomes queryable immediately. Flurry harnesses Druid to ingest data and serve queries at this massive rate."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/6c_hc3Qca5s"},"Druid @ Flurry")," (Eric Tschetter), ",(0,r.kt)("em",{parentName:"li"},"Sift Science ","[YouTube]"),", 16 Dec 2016.")),(0,r.kt)("h2",{id:"fullcontact"},"FullContact"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.fullcontact.com/blog/2019/06/27/enrich-api-brings-higher-match-rates-with-multi-field-enrichment-capabilities/"},"Enrich API Brings Higher Match Rates with Multi-Field Enrichment Capabilities")," (Ken Michie), ",(0,r.kt)("em",{parentName:"li"},"Full Contact"),", 27 Jun 2019.")),(0,r.kt)("h2",{id:"fyber"},"Fyber"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.fyber.com"},"Fyber")," is an app monetization company, developing a next-generation monetization platform for app game developers. Fyber uses Apache Druid for customer data analysis."),(0,r.kt)("h2",{id:"gameanalytics"},"GameAnalytics"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/why-gameanalytics-migrated-to-druid"},"Why GameAnalytics migrated to Apache Druid")," (Ram\xf3n Lastres Guerrero), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 14 Feb 2019.")),(0,r.kt)("h2",{id:"glia"},"Glia"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.glia.com/"},"Glia")," uses Druid to provide application usage insights to its clients."),(0,r.kt)("h2",{id:"gumgum"},"GumGum"),(0,r.kt)("p",null,"Druid powers a dashboard used internally to visualize real-time analytics on GumGum's Real Time Bidding platform. GumGum runs Druid on Amazon EC2 and can ingest up to 300,000 events per second at peak time."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://whynosql.com/2015/11/06/lambda-architecture-with-druid-at-gumgum/"},"Lambda Architecture with Druid at GumGum")," (Vaibhav Puranik), ",(0,r.kt)("em",{parentName:"li"},"WhyNoSql ","[Wordpress]"),", 6 Nov 2015."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/gumgum-tech/optimized-real-time-analytics-using-spark-streaming-and-apache-druid-d872a86ed99d"},"Optimized Real-time Analytics using Spark Streaming and Apache Druid")," (Jatinder Assi), ",(0,r.kt)("em",{parentName:"li"},"GumGum Tech Blog ","[Medium]"),", 2 Jun 2020.")),(0,r.kt)("h2",{id:"hawk"},"Hawk"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://hawk-tech.io/"},"Hawk")," is the first independent European platform to offer a transparent and technological advertising experience across all screens."),(0,r.kt)("p",null,"Hawk's customers harness the power of Imply Druid to access an all-in-one solution to follow their campaign KPIs throughout their lifecycle; build their business dashboards and visualize the evolution of their KPIs; set up tailored reports; and accelerate the Time-To-Market thanks to a simplified data pipeline with Druid directly connected to their Kafka cluster and RDS database."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/customer-stories/data-revolution-at-hawk-powered-by-imply/"},"Data Revolution at Hawk Powered by Imply")," (Laura Manzanilla), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 12 Oct 2021.")),(0,r.kt)("h2",{id:"hexaglobe"},"Hexaglobe"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.hexaglobe.com/"},"Hexaglobe")," uses Druid for network and CDN analytics, and gleans intelligence from video services metrics for engineering and marketing purposes."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=vooDECOqfy0"},"How Druid can Help Analyse Video Services Metrics for QoS & Marketing Purposes")," (Pierre-Alexandre Entraygues, Anthony Courcoux ), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[YouTube]"),", 10 Dec 2021.")),(0,r.kt)("h2",{id:"hubvisor"},"Hubvisor"),(0,r.kt)("p",null,"Druid powers ",(0,r.kt)("a",{parentName:"p",href:"https://www.hubvisor.io/"},"Hubvisor")," realtime insights for their customer programmatic advertising auctions."),(0,r.kt)("h2",{id:"hulu"},"Hulu"),(0,r.kt)("p",null,"At Hulu, we use Druid to power our analytics platform that enables us to interactively deep dive into the behaviors of our users and applications in real-time."),(0,r.kt)("h2",{id:"icsoc-co-ltd"},"ICSOC Co., Ltd."),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.icsoc.net"},"ICSOC Co., Ltd.")," is the leading call center service provider in China. In our big data department, as traditional ways cannot meet our requirements, eventually we found that Druid, designed in lambda, fully satisfies our requires. It simplified developing statistics or real-time products and highly speeded up OLAP queries."),(0,r.kt)("h2",{id:"ibotta"},"Ibotta"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://home.ibotta.com/"},"Ibotta")," is a free cash back rewards and payments app. The company has partnered with more than 1,500 brands and retailers to pay consumers cash for their purchases. Ibotta has paid out over $600 million in cash rewards to more than 35 million users since its founding in 2012."),(0,r.kt)("h2",{id:"imply"},"Imply"),(0,r.kt)("p",null,"Imply uses Druid to power public demos and to power our internal monitoring and metrics."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/hello-pivot"},"Pivot: An Open Source Data Exploration UI for Druid")," (Vadim Ogievetsky), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 26 Oct 2015."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/big-data-zoo"},'A Tour Through the "Big Data" Zoo')," (Fangjin Yang), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 4 Nov 2015."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/failure"},"Architecting Distributed Databases for Failure")," (Fangjin Yang), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 10 Dec 2015."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://www.confluent.io/blog/building-a-streaming-analytics-stack-with-apache-kafka-and-druid"},"Building a Streaming Analytics Stack with Apache Kafka and Druid")," (Fangjin Yang), ",(0,r.kt)("em",{parentName:"li"},"Confluent blog"),", 14 Jun 2016."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/compressing-longs"},"Compressing Longs in Druid")," (David Li), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 7 Dec 2016."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/securing-druid"},"Securing Druid")," (Jon Wei), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 13 Sep 2018."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/druid-console-query-view"},"Druid query view: An elegant SQL interface for a more civilized age")," (Margaret Brewster), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 16 Oct 2019.")),(0,r.kt)("h2",{id:"inke"},"Inke"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.inke.cn"},"Inke")," is a online live company which principally engaged in online live and technology. We use Druid for business intelligence (BI) analytics."),(0,r.kt)("h2",{id:"inmobi"},"Inmobi"),(0,r.kt)("p",null,"Inmobi is a mobile advertising and discovery platform. We use Druid majorly for internal realtime reporting and analysis. We also use Caravel backed by Druid, which allows users to build interactive dashboards. Apart from that, we use Druid as a Datastore for faster ingestion of large amount of data and to query this data at sub second latencies."),(0,r.kt)("h2",{id:"innowatts"},"Innowatts"),(0,r.kt)("p",null,"Innowatts uses Druid to quickly work with massive data sets, and differentiates its platform with the intended direction to read meters and forecast usage on the fly."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/innowatts-innovates-power-utilities-analytics"},"Community Spotlight: Innowatts provides AI-driven analytics for the power industry")," (Daniel Hernandez, Matt Sarrel), ",(0,r.kt)("em",{parentName:"li"},"Imply blog"),", 30 Sep 2020.")),(0,r.kt)("h2",{id:"interactive-intelligence"},"Interactive Intelligence"),(0,r.kt)("p",null,"At ININ we're using Druid within a Lambda architecture to drive cloud based call center analytics. Many of our realtime dashboards, downloadable reports, and public APIs utilize Druid on the backend."),(0,r.kt)("h2",{id:"ironsource"},"ironSource"),(0,r.kt)("p",null,"At ironSource, we use Druid to power the real-time capabilities of our in-app bidding solution, which programmatically auctions off publisher ad impressions to a range of ad sources. Using Druid enables us to process and query billions of data points in real time."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=_co3nPOh7YM"},"Performance Tuning of Druid Cluster at High Scale")," (Elad Eldor), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[YouTube]"),", 10 Dec 2021.")),(0,r.kt)("h2",{id:"italiaonline"},"Italiaonline"),(0,r.kt)("p",null,"Italiaonline exploits Druid for Internet trends and analytics management inside its new ",(0,r.kt)("a",{parentName:"p",href:"https://www.italiaonline.it/corporate/en/2016/02/17/supereva-a-new-online-publishing-experience/"},"Data-Driven Contents Management System"),".\nItaliaonline is the first Italian internet company, with the two most visited web portals, Libero and Virgilio, and the most used email service of the country @libero.it. Italiaonline features 16.8 million unique users per month","*",", 4.8 billion impressions per month","*","*",",  10.2 million active email accounts","*","*"," and a 58% active reach","*","."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"*"," Source: Audiweb View, powered by Nielsen, TDA 2H 2015; ","*","*"," Internal data, December 2015")),(0,r.kt)("h2",{id:"jolata"},"Jolata"),(0,r.kt)("p",null,"Jolata leverages Druid as the analytics data store for the realtime network perfomance managment platform. Injesting over 35 billion events per day, Jolata calculates a billion metrics every minute to visualize precise network metrics in real-time, and enable operators to quickly drill down and perform root cause analysis."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.linkedin.com/pulse/realtime-analytics-powered-druid-kiran-patchigolla"},"Realtime Analytics Powered by Druid")," (Kiran Patchigolla), ",(0,r.kt)("em",{parentName:"li"},"Medium"),", 11 Aug 2015.")),(0,r.kt)("h2",{id:"kering"},"Kering"),(0,r.kt)("p",null,"Thanks to Druid, Kering empowers its sales teams (more than 20,000 people worldwide) to quickly understand their sales performance, compare them to their objectives and identify new sales opportunities within their customer portfolio.",(0,r.kt)("br",{parentName:"p"}),"\n","Kering was already providing data on demand via a search engine (Apache Solr), and the implementation of Apache Druid has enabled us to enrich the offer by :"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Adding access to real-time updated KPIs (based on streaming ingestion)"),(0,r.kt)("li",{parentName:"ul"},"Providing a sub-second response time"),(0,r.kt)("li",{parentName:"ul"},"Offering linear scalability that allows the service to be deployed to tens of thousands of end users"),(0,r.kt)("li",{parentName:"ul"},"Allowing massive data updates in a very short period of time (using parquet and mapReduce files) without any impact on the quality of service")),(0,r.kt)("h2",{id:"kt-nexr"},"KT NexR"),(0,r.kt)("p",null,"KT NexR is the leading provider of the data analytics platform. We use Druid as a real-time analysis tool to help our customers to analyze multidimensional data in interactive ways."),(0,r.kt)("h2",{id:"ldmobile"},"LDMobile"),(0,r.kt)("p",null,"LDMobile is a mobile DSP for the RTB. We use Druid to aggregate some metrics in order to propose to our customers a real-time dashboard showing performance indicators of their campaigns."),(0,r.kt)("h2",{id:"libra-ai-technologies--papergo"},"Libra AI Technologies & PaperGo"),(0,r.kt)("p",null,"EMA (Explainable Marketing Analytics) is a marketing analytics assistant powered by Druid. She helps marketeers and ecommerce owners leverage users behavioral data and make data driven decisions. The assistant has been implemented on top of PaperGo loyalty platform and LibraAI proprietary machine learning innovations and marketing analytics."),(0,r.kt)("h2",{id:"lifebuzz"},"LifeBuzz"),(0,r.kt)("p",null,"LifeBuzz is a popular web property that serves tens of millions of pageviews per day. We use Druid for all our advanced analytics needs, including in-house analysis and professional realtime analytics for our sponsored media partners."),(0,r.kt)("h2",{id:"liquidm"},"LiquidM"),(0,r.kt)("p",null,"LiquidM uses Druid for real-time drill-down reporting. LiquidM is also contributing back to the community by creating and maintaining a ruby client library for interacting with Druid located at ",(0,r.kt)("a",{parentName:"p",href:"http://github.com/liquidm/ruby-druid"},"http://github.com/liquidm/ruby-druid"),"."),(0,r.kt)("h2",{id:"lohika"},"Lohika"),(0,r.kt)("p",null,"Lohika uses Druid to run analytics over large amounts of event-based data. They are using real-time ingestion with Apache Kafka to be able to better respond to changes in advertising campaigns. They are managing their cluster with Kubernetes."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.lohika.com/apache-druid-interactive-analytics-at-scale"},"Apache Druid: Interactive Analytics at Scale")," (Volodymyr Iordanov), ",(0,r.kt)("em",{parentName:"li"},"Lohika website"),", 18 May 2021.")),(0,r.kt)("h2",{id:"lyft"},"Lyft"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/ovZ9iAkQllo"},"Streaming SQL and Druid")," (Arup Malakar), ",(0,r.kt)("em",{parentName:"li"},"SF Big Analytics ","[YouTube]"),", 30 Aug 2018.")),(0,r.kt)("h2",{id:"lynx-analytics"},"Lynx Analytics"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.lynxanalytics.com/"},"Lynx Analytics")," helps B2B clients unlock social, behavioral and experience insights\non hundreds of millions of customers. We build interactive dashboards powered by Druid to make the data science\nresults easy to digest. Our clients love the flexibility and being able to explore the data in detail. The speed at\nwhich they can do that is in a big part thanks to Druid!"),(0,r.kt)("h2",{id:"makemytrip"},"MakeMyTrip"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/makemytrip-engineering/data-insights-engine-makemytrip-900bd353d99c"},"Data Insights Engine @ MakeMyTrip")," (Aditya Banerjee), ",(0,r.kt)("em",{parentName:"li"},"MakeMyTrip ","[Medium]"),", 4 Jan 2019.")),(0,r.kt)("h2",{id:"makesens"},"MAKESENS"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"http://www.battery-doctor.cn/"},"MAKESENS")," use Druid to store and analyze battery data."),(0,r.kt)("h2",{id:"marchex"},"Marchex"),(0,r.kt)("p",null,"Marchex uses Druid to provide data for Marchex Call Analytics' new customer facing Speech Analytics dashboards.\nDruid's fast aggregation is critical for providing deep insights into call performance for its customers,\nenabling them to spot trends and improve performance of both marketing campaigns and call centers."),(0,r.kt)("h2",{id:"metamarkets"},"Metamarkets"),(0,r.kt)("p",null,"In 2011, Metamarkets originally created Druid to power its SaaS analytics platform.\nThe technology platform processes trillions of real-time transactions monthly, across thousands of servers.\nWith Druid, Metamarkets is able to provide insight to its customers using complex ad-hoc queries at a 95th percentile query time of less than 1 second."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://metamarkets.com/2011/druid-part-i-real-time-analytics-at-a-billion-rows-per-second/"},"Introducing Druid: Real-Time Analytics at a Billion Rows Per Second")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://metamarkets.com/2012/scaling-druid/"},"Scaling the Druid Data Store")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://metamarkets.com/2012/metamarkets-open-sources-druid/"},"Metamarkets Open Sources Druid")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://metamarkets.com/2016/impact-on-query-speed-from-forced-processing-ordering-in-druid/"},"Druid Query Optimization with FIFO: Lessons from Our 5000-Core Cluster")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://metamarkets.com/2016/distributing-data-in-druid-at-petabyte-scale/"},"Distributing Data in Druid at Petabyte Scale"))),(0,r.kt)("h2",{id:"millersoft"},"Millersoft"),(0,r.kt)("p",null,"Druid is the ",(0,r.kt)("a",{parentName:"p",href:"https://www.millersoft.ltd.uk/"},"Millersoft")," platform of choice for operational analytics. The seamless integration of real time and historical data sets within Druid has been a real boon for our data processing clients.\nThe flexibility of the API via Rest/SQL/Native against a single data source also means that our dashboards, ad-hoc queries and pivot tables are all consistent. The ability to drill down in Druid to the transactions underpinning the aggregations also means that we can reconcile the results directly against operational systems. Druid destroys legacy database cubes at the end of long data integration pipelines."),(0,r.kt)("h2",{id:"mindhouse"},"Mindhouse"),(0,r.kt)("p",null,"Mindhouse streams data from Apache Kafka into Druid and runs dashboards as well as ad-hoc SQL queries to gain insights from user behavior and pinpoint potential issues in their meditation app."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/mindhouse-achieves-monitoring-nirvana-with-apache-druid"},"Mindhouse Achieves Monitoring Nirvana with Apache Druid"))),(0,r.kt)("h2",{id:"mobiauto"},"Mobiauto"),(0,r.kt)("p",null,"Druid has helped Mobiauto ingest and analyze millions of real time events generated on our online car sales website. We use this data to generate real time analytics used by the commercial team, and create APIs for our backend team that can be used to insert real time data to the website that helps our clients make informed decisions."),(0,r.kt)("h2",{id:"monetate"},"Monetate"),(0,r.kt)("p",null,"Druid is a critical component in Monetate's personalization platform, where it\nacts as the serving layer of a lambda architecture.  As such, Druid powers\nnumerous real-time dashboards that provide marketers valuable insights into\ncampaign performance and customer behavior."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://brianoneill.blogspot.com/2015/09/gone-monetate-personalizing-marketing.html"},"Gone Monetate : Personalizing Marketing at 100K events/second")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://brianoneill.blogspot.com/2015/09/druid-vagrant-up-and-tranquility.html"},"Druid : Vagrant Up (and Tranquility!)")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://brianoneill.blogspot.com/2015/09/kinesis-druid-options-analysis-to-push.html"},"Kinesis -> Druid : Options Analysis (to Push? to Pull? to Firehose? to Nay Nay?)"))),(0,r.kt)("h2",{id:"mparticle"},"mParticle"),(0,r.kt)("p",null,"At ",(0,r.kt)("a",{parentName:"p",href:"https://www.mparticle.com/"},"mParticle")," we have deployed Druid across our entire reporting stack. Druid has enabled us to ingest over 8.5 billion events daily while supporting reliably low latency queries. We have also enabled our support team and customers even greater insight into their data by exposing (controlled) queries to Druid via Looker."),(0,r.kt)("h2",{id:"mz"},"MZ"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'Priyadarshi, Pushkar; Yurinok, Igor, Nepune, Bikrant. "Druid @ MZ." ',(0,r.kt)("em",{parentName:"li"},"YouTube"),", uploaded by Imply, 5 Mar 2018, ",(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/zCk2BV9mQ0Y"},"https://youtu.be/zCk2BV9mQ0Y"))),(0,r.kt)("h2",{id:"n3twork"},"N3twork"),(0,r.kt)("p",null,"N3TWORK uses Druid for real-time analysis of its Internet of Interests social\nentertainment network. It uses Druid analytics both to optimize user\nexperiences and to guide the evolution of its product."),(0,r.kt)("h2",{id:"naver"},"Naver"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.slideshare.net/JasonJungsuHEO/web-analytics-at-scale-with-druid-at-navercom"},"Web Analytics at Scale with Druid"))),(0,r.kt)("h2",{id:"netflix"},"Netflix"),(0,r.kt)("p",null,"Netflix engineers use Druid to aggregate multiple data streams, ingesting up to\ntwo terabytes per hour, with the ability to query data as its being ingested.\nThey use Druid to pinpoint anomalies within their infrastructure, endpoint\nactivity and content flow."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'Merlino, Gian; Herman, Matt; Pasari, Vivek; Jain, Samarth. "Druid @ Netflix". ',(0,r.kt)("em",{parentName:"li"},"YouTube"),", uploaded by Netflix Data, 14 Nov 2018. ",(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/Qvhqe4yUKpw"},"https://youtu.be/Qvhqe4yUKpw")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://aws.amazon.com/solutions/case-studies/netflix-kinesis-streams/"},"Netflix & Amazon Case Study")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://techblog.netflix.com/2013/12/announcing-suro-backbone-of-netflixs.html"},"Announcing Suro: Backbone of Netflix's Data Pipeline")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://netflixtechblog.com/how-netflix-uses-druid-for-real-time-insights-to-ensure-a-high-quality-experience-19e1e8568d06"},"How Netflix uses Druid for Real-time Insights to Ensure a High-Quality Experience"))),(0,r.kt)("h2",{id:"netsil"},"Netsil"),(0,r.kt)("p",null,"Netsil is an observability and analytics company for modern cloud applications. The Netsil Application Operations Center (AOC) uses Druid for real-time queries on sharded data along with support for dynamic and multi-valued attributes. The AOC processes live service interactions in large-scale production applications and also stores massive amounts of historical metrics data. Druid was able to support these and several other AOC requirements allowing the AOC to be scalable and fault-tolerant."),(0,r.kt)("p",null,"You can learn more about the AOC at ",(0,r.kt)("a",{parentName:"p",href:"http://netsil.com/download/"},"http://netsil.com/download/")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://blog.netsil.com/a-comparison-of-time-series-databases-and-netsils-use-of-druid-db805d471206"},"A Comparison of Time Series Databases and Netsil\u2019s Use of Druid"))),(0,r.kt)("h2",{id:"nielsen-nielsen-marketing-cloud"},"Nielsen (Nielsen Marketing Cloud)"),(0,r.kt)("p",null,"Nielsen Marketing Cloud uses Druid as it's core real-time analytics tool to help its clients monitor, test and improve its audience targeting capabilities.  With Druid, Nielsen provides its clients with in-depth consumer insights leveraging world-class Nielsen audience data."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/nielsen-marketing-audience-analysis"},"How Nielsen Marketing Cloud Uses Druid for Audience and Marketing Performance Analysis")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/MLUhzuQ0DHY"},'Counting Unique Users in Real-Time: Here\u2019s a Challenge for You!"')," (Yakir Buskilla, Itai Yaffe) ",(0,r.kt)("em",{parentName:"li"},"YouTube"),", uploaded by DataWorks Summit, 1 Apr 2019."),(0,r.kt)("li",{parentName:"ul"},'Buskilla, Yakir; Yaffe, Itai. "Counting Unique Users in Real-Time: Here\u2019s a Challenge for You!" ',(0,r.kt)("em",{parentName:"li"},"SlideShare"),", uploaded by DataWorks Summit, 1 Apr 2019. ",(0,r.kt)("a",{parentName:"li",href:"https://www.slideshare.net/Hadoop_Summit/counting-unique-users-in-realtime-heres-a-challenge-for-you-139142580"},"https://www.slideshare.net/Hadoop_Summit/counting-unique-users-in-realtime-heres-a-challenge-for-you-139142580")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/nmc-techblog/data-retention-and-deletion-in-apache-druid-74ffd12398a8"},"Data Retention and Deletion in Apache Druid"))),(0,r.kt)("h2",{id:"nodex"},"Nodex"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.nodex.co.uk/services/recruitment-crm-software"},"Nodex")," uses Druid in its real time analytics pipeline to deliver insights and analytics across a wide range of recruitment CRM software, Job boards and recruitment career portals. We ingest large amounts of data and needed something capable of real time metrics to offer KPI's to our clients to allow them to make better business decisions based on actual usage data."),(0,r.kt)("h2",{id:"noon"},"Noon"),(0,r.kt)("p",null,"At Noon \u2013 The Social Learning Platform, on a daily basis we process close to 100M audio and sketch samples from more than 80K students to help measure the voice and sketch quality of our online classrooms. We built a real time analytics platform on Apache Druid and Apache Flink to provide realtime feedback on classroom quality & engagement metrics. "),(0,r.kt)("h2",{id:"ntt-com"},"NTT Com"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/kappa-architecture-at-ntt"},"Kappa architecture at NTT Com: Building a streaming analytics stack with Druid and Kafka"))),(0,r.kt)("h2",{id:"ocean-it"},"Ocean IT"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"http://www.ocean-it.co.kr/index/index.do"},"OCEAN-IT")," is a company established in S.Korea 2008, and is playing a role in system & database construction, operation in the public IT sector. We have received a service request from Korea Electric Power Corporation (KEPCO), and have been performing system and data purification work. In particular, OCEAN-IT are carrying out the business at the request of KEPCO, collecting real-time sensor databases such as Boiler, Turbine, and Generator as raw data from four power plants in Korea, and refining them for real-time inquiry and analysis. The raw data collected is 40,000 cases per second, which can be estimated to be 1.15 billion cases per day, and these data are implemented to be searchable within 0.1 second of response speed."),(0,r.kt)("h2",{id:"ona"},"Ona"),(0,r.kt)("p",null,"Ona ",(0,r.kt)("a",{parentName:"p",href:"https://ona.io"},"https://ona.io")," is a software engineering and design firm based in Nairobi, Kenya and Washington, DC. Our mission is to improve the effectiveness of humanitarian and development aid by empowering organizations worldwide with collective and actionable intelligence. We use Druid to power dashboards and disseminate global health and service delivery data pulled from diverse sources."),(0,r.kt)("h2",{id:"oneapm"},"OneAPM"),(0,r.kt)("p",null,"OneAPM ",(0,r.kt)("a",{parentName:"p",href:"http://oneapm.com"},"http://oneapm.com")," is an IT service compmay focusing on Application Performance Management (APM). In OneAPM, Druid is used to power clients' interactive queries on performance data collected from their applications in realtime."),(0,r.kt)("h2",{id:"oppo"},"Oppo"),(0,r.kt)("p",null,"Oppo is one of the world largest mobile phone manufacturer. Druid is used to realtime data analyze."),(0,r.kt)("h2",{id:"optimizely"},"Optimizely"),(0,r.kt)("p",null,"Optimizely uses Druid to power the results dashboard for Optimizely Personalization. Druid enables Optimizely to provide our customers with in-depth, customizable metrics in real time, allowing them to monitor, test and improve their Personalization campaigns with greater ease and flexibility than before."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/engineers-optimizely/slicing-and-dicing-data-with-druid-f61cca8a63d2"},"Slicing and dicing data with druid")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/engineers-optimizely/the-anatomy-of-a-druid-segment-file-bed89a93af1e"},"The anatomy of a Druid segment file"))),(0,r.kt)("h2",{id:"outbrain"},"Outbrain"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/outbrain-engineering/understanding-spark-streaming-with-kafka-and-druid-25b69e28dcb7"},"Understanding Spark Streaming with Kafka and Druid"))),(0,r.kt)("h2",{id:"paypal"},"Paypal"),(0,r.kt)("p",null,"The Druid production deployment at PayPal processes a very large volume of data\nand is used for internal exploratory analytics by business analytic teams. Here\nis what they have to say:"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Around early Feb, 2014, the Paypal Tracking Platform team, lead by Suresh Kumar, stumbled upon an article talking about a new\nupcoming kid in Real Time Analytics world. After first glance it seemed just like any other\nnew cool looking technology. But after reading little deeper into the papers(they had\nreferred) and few blogs, it was clear it is different. The fundamental approach to query\nthe data itself looked very different and refreshing."),(0,r.kt)("p",{parentName:"blockquote"},"Coincidently, at the same time, the team was struggling to create a very high volume real-time data\nquery system. We had already explored Drill, Hive, Cassandra, TSDB, Shark etc.\nDating back at least a year, none of these technologies were fulfilling our low latency needs for very high\nvolumes of data."),(0,r.kt)("p",{parentName:"blockquote"},"So, as an option we started the Druid prototype and within couple of weeks it was looking like\na very promising alternate. Very soon with great help from Core Druid development team\nour prototype was doing great."),(0,r.kt)("p",{parentName:"blockquote"},"We then started the prototype with large 7-10 billion records and see the response time for\nquery. It was quite amazing."),(0,r.kt)("p",{parentName:"blockquote"},"Today our Druid implementation in PayPal processes a very large volume of Data and is\nused for our internal exploratory analytics by business analytic teams."),(0,r.kt)("p",{parentName:"blockquote"},"The thing we liked the most was amazing support provided by core Druid team. I have never\nseen a Open Source Community providing such a very high level of responsiveness for ANY\nissue related to Druid setup and tuning.")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=HJvuU0CQS44"},"PayPal merchant ecosystem using Apache Spark, Hive, Druid, and HBase"))),(0,r.kt)("h2",{id:"payu"},"PayU"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://payu.in"},"PayU")," is a payment service provider. We have several services that publish our transactional data into Kafka. We transform the data using Kafka streams and write it flattened and enriched to a different topic. Kafka indexing service then reads the data from the topic and writes it to Druid. We provide dashboards to our merchants that refresh in real-time."),(0,r.kt)("h2",{id:"pinterest"},"Pinterest"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=LBXtK0DSQIw"},"Powering Ad Analytics with Apache Druid"))),(0,r.kt)("h2",{id:"play-games24x7"},"Play Games24x7"),(0,r.kt)("p",null,"Play Games24x7 offers multiple casual as well as real money cash games to its users. To maintain a healthy environment for their players, they constantly look out for any elements that could lead to a win by unethical means in the game. They are using Druid to identify those users who follow this set of patterns, and mark them as fraudulent."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=5RbJL8vHfi0"},"Real Time, High Concurrency Use Case in Fraud Detection"))),(0,r.kt)("h2",{id:"plumbr"},"Plumbr"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://youtu.be/rx6c7D9QmyU"},"Introduction to Druid, fast distributed data store")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://plumbr.eu/blog/programming/storing-and-querying-trillions-of-events"},"Storing and accessing trillions of events"))),(0,r.kt)("h2",{id:"pollfish"},"Pollfish"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"https://www.pollfish.com/"},"Pollfish")," real-time analytics platform enables researchers to analyze survey data from over half-a-billion consumers across the world, informing advertising, branding, market research, content, and product strategies. Druid is used alongside Apache Kafka, Spark, Flink, Akka Streams, Finatra / Finagle microservices, Cassandra, PostgreSQL, Hive, and Scruid \u2013 an open source Scala library for Apache Druid."),(0,r.kt)("h2",{id:"poshmark"},"Poshmark"),(0,r.kt)("p",null,"Poshmark uses Druid for reporting to monitor key business metrics and data exploration in real-time."),(0,r.kt)("h2",{id:"preset"},"Preset"),(0,r.kt)("p",null,"Apache Superset was built by Maxime Beauchemin when he was at Airbnb, to visualize data from Apache Druid. Druid enables highly interactive and responsive Superset dashboards, massively shortening the time from question to answer. "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=O0ESEZaZR88"},"Building Lightning Fast Dashboards Using Apache Druid & Apache Superset"))),(0,r.kt)("h2",{id:"pubnative"},"PubNative"),(0,r.kt)("p",null,"PubNative uses Druid for its real-time reports and analysis of millions of daily ad views, clicks, conversions and other events."),(0,r.kt)("h2",{id:"quantiply"},"Quantiply"),(0,r.kt)("p",null,"Quantiply uses Druid for its feature learning, and governance layer for Compliance and Regulatory (CoRe) platform."),(0,r.kt)("h2",{id:"raygun"},"Raygun"),(0,r.kt)("p",null,"Raygun is a full stack software intelligence platform that monitors your applications for errors, crashes and performance issues. They use Druid to complete complex queries with large data sets. Having seen similar stories from others, including those who invested in other technologies such as the Hadoop ecosystem or key-value stores, Raygun began researching other more purpose-built analytics databases. Druid happens to be the one they settled on, as it offers several nice properties one wants in an analytics database."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://raygun.com/blog/2016/12/druid-groupby-v2-engine/"},"Using the Druid GroupBy V2 engine for real-time analytics"))),(0,r.kt)("h2",{id:"razorpay"},"Razorpay"),(0,r.kt)("p",null,"We have successfully deployed Druid at ",(0,r.kt)("a",{parentName:"p",href:"https://razorpay.com/"},"Razorpay")," for our use cases and see continued growth in its footprint. We were able to achieve p90, p95 values of less than 5s and 10s respectively and our dashboard performances have improved by at least 10x when compared to Presto."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/@birendra.sahu_77409/how-razorpay-uses-druid-for-seamless-analytics-and-product-insights-364c01b87f1e"},"How Razorpay uses Druid for seamless analytics and product insights?"))),(0,r.kt)("h2",{id:"redborder"},"Redborder"),(0,r.kt)("p",null,"redBorder is an open source, scale out, cybersecurity analytics platform based on Druid. We hope its full-blown web interface, dashboard and report systems, and ready-to-use real-time pipeline foster other Druid users to create a strong community around it. To see more, please visit redborder.org"),(0,r.kt)("h2",{id:"reddit"},"Reddit"),(0,r.kt)("p",null,"Druid is a critical component in our advertising infrastructure, where it serves as the backend for our external reporting dashboards."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://redditblog.com/2021/02/26/scaling-reporting-at-reddit/"},"Scaling Reporting at Reddit"))),(0,r.kt)("h2",{id:"retargetly"},"Retargetly"),(0,r.kt)("p",null,"Retargetly is a Data Management Platform that enables publishers and advertisers to manage their first party user data, mix it with second and third party data from others providers and activate it into advertising campaigns (direct, programmatic, etc.). Druid enables us to show real time audience insights. It also provides a lot of flexibility on ad-hoc queries with low latency. We provide default graphs and metrics to our clients but they also have the possibility to make their own interactive queries on real-time."),(0,r.kt)("h2",{id:"rill-data"},"Rill Data"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://rilldata.com"},"Rill Data")," uses Druid to power its truly elastic, fully managed cloud service.\nRill uses Druid to deliver operational intelligence to business stakeholders with zero DevOps overhead.\nRill's team operates the first and longest continuously running Druid service."),(0,r.kt)("h2",{id:"roambee"},"Roambee"),(0,r.kt)("p",null,"We introduced Druid to our technology stack while developing our new supply chain & logistics visibility and intelligence solution. Combining Druid with other data storage, streaming & processing platforms & solutions for the IoT sensor data and 3rd party data helped us design an effective solution for our customers worldwide."),(0,r.kt)("h2",{id:"rovio"},"Rovio"),(0,r.kt)("p",null,"We use Druid as the low-latency backend for pivot & time-series dashboards. We typically feed data to Druid in daily batches. Data is used at Rovio to continually improve our games and provide incredible experiences for the millions of players who play our games every day."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/@Rovio_Tech/unlocking-interactive-dashboards-at-rovio-with-druid-and-spark-40f8fe6a0b05"},"Unlocking interactive dashboards at Rovio with Druid and Spark"))),(0,r.kt)("h2",{id:"rubicon-project"},"Rubicon Project"),(0,r.kt)("p",null,"Rubicon Project is the world\u2019s largest independent sell-side advertising platform that helps premium websites and mobile apps sell ads easily and safely. Rubicon Project\u2019s flagship reporting platform, Performance Analytics, is built on Apache Druid and is used by thousands of companies across the globe. Performance Analytics processed more than two trillion events per day during Black Friday. Druid delivers analytics from this data with an average response times under 600 ms, helping publishers maximize the yield of their digital ad inventory across the open internet and builds on our commitment to trust and transparency in the programmatic marketplace."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/modernizing-rubicon-projects-analytics-stack"},"Modernizing Rubicon Project\u2019s Analytics Stack for Programmatic Advertising"))),(0,r.kt)("h2",{id:"sage--archer"},"Sage + Archer"),(0,r.kt)("p",null,"We are using Druid as our single source of truth for both realtime statistics and data analysis. Our clients can see and filter detailed metrics in our ",(0,r.kt)("a",{parentName:"p",href:"https://www.sage-archer.com"},"self-service DSP"),". The DSP is used for mobile and digital-out-of-home advertising campaigns. Druid is powering both the front-end and the optimization algorithms within the system."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/community-spotlight-smart-advertising-from-sage-archer-apache-druid"},"Community Spotlight: smart advertising from Sage+Archer + Apache Druid"))),(0,r.kt)("h2",{id:"salesforce"},"Salesforce"),(0,r.kt)("p",null,"Salesforce's Edge Intelligence team uses Apache Druid as a real-time analytical database to store application performance metrics extracted from log lines. Our customers within Salesforce, including engineers, product owners, customer service representatives, etc., use our service to define the way they want to ingest and query their data and obtain insights such as performance analysis, trend analysis, release comparison, issue triage, and troubleshooting. We chose Druid because it gives us the flexibility to define pre-aggregations, the ability to easily manage ingestion tasks, the ability to query data effectively, and the means to create a highly scalable architecture."),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://engineering.salesforce.com/delivering-high-quality-insights-interactively-using-apache-druid-at-salesforce-7a038f0fe3d1"},"Delivering High-Quality Insights Interactively Using Apache Druid at Salesforce")),(0,r.kt)("h2",{id:"scalac"},"Scalac"),(0,r.kt)("p",null,"Scalac migrated to Apache Druid and Apache Kafka (from Apache Cassandra and Apache Spark) for their Blockchain Observability application. The analytical dashboard they created is used to visualize the data from different blockchains. It is built on React with Hooks, Redux, Saga on the front side \u2013 and Node.js, Apache Druid, and Apache Kafka on the back-end."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://scalac.io/blog/how-we-reduced-costs-and-simplified-solution-by-using-apache-druid/"},"How We Reduced Costs and Simplified Solution by Using Apache Druid")," (Adrian Juszczak), ",(0,r.kt)("em",{parentName:"li"},"Scalac website"),", 4 Feb 2020.")),(0,r.kt)("h2",{id:"shopee"},"Shopee"),(0,r.kt)("p",null,"At ",(0,r.kt)("a",{parentName:"p",href:"http://shopee.com/"},"Shopee")," Data Engineer Group, we use Druid for real-time analytics of users'(including seller and buyer) interaction with its popular e-commerce site."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://mp.weixin.qq.com/s/WFiPDPvxMUi_QVfBDqgVcQ"},"Apache Druid in Shopee"),"(in Chinese). Published on 2022-01-13 by ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/yuanlihan"},"yuanlihan"),", a contributor of Apache Druid.")),(0,r.kt)("h2",{id:"shopify"},"Shopify"),(0,r.kt)("p",null,"Shopify uses Druid, along with Apache Flink and Airflow, to create an interactive analytics platform for realtime sales data with enormous volume and variety."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=_xluVN75AaE"},"The Lessons Learnt From Building Star Schema Type-1 Dimensions With Druid Joins in Shopify"))),(0,r.kt)("h2",{id:"sift-science"},"Sift Science"),(0,r.kt)("p",null,"Sift Science provides an online trust platform that online businesses use to prevent fraud and abuse. We use Druid as a tool to gain real-time insights about our data and machine learning models."),(0,r.kt)("h2",{id:"signoz"},"SigNoz"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://signoz.io"},"SigNoz")," is an open source observability platform. SigNoz uses distributed tracing to gain visibility into your systems and powers data using Kafka (to handle high ingestion rate and backpressure) and Apache Druid (Apache Druid is a high performance real-time analytics database), both proven in industry to handle scale."),(0,r.kt)("p",null,"Druid powers aggregations after slicing and dicing of high-dimensional trace data."),(0,r.kt)("h2",{id:"sina-weibo"},"Sina Weibo"),(0,r.kt)("p",null,"Weibo Advertising Platform deploys Druid as realtime data tool for online advertising analytics and business intelligence(BI). Druid processes TBs of realtime data per day with latency in one minute."),(0,r.kt)("p",null,"Weibo UVE(Unified Value Evaluation) team of Advertising Platform is using Druid as the realtime analysis tool of the data insight system, which processing billions events everyday."),(0,r.kt)("h2",{id:"singular"},"Singular"),(0,r.kt)("p",null,"Druid is the primary data store used for ad-hoc analytics in Singular, enabling our customers to generate insights based on real-time and historical data."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.singular.net/singular-app-roi-analytics/"},"How Singular Delivers Blazing Fast App Analytics")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://singular-engineering-blog.medium.com/achieving-fast-upserts-for-apache-druid-db6c33fba466"},"Achieving fast upserts for Apache Druid"))),(0,r.kt)("h2",{id:"sk-telecom"},"SK Telecom"),(0,r.kt)("p",null,"SK Telecom is the leading telecommunication and platform solution company. Druid enable us to discover the business insight interactively from telecommunication, manufacturing big data."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://feathercast.apache.org/2018/09/27/apache-druid-on-kubernetes-elastic-scalable-cloud-based-system-for-real-time-olap-on-high-velocity-data-jinchul-kim-eui-heo/"},"Apache Druid on Kubernetes: Elastic scalable cloud-based system for real-time OLAP on high velocity data"))),(0,r.kt)("h2",{id:"skimlinks"},"Skimlinks"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.skimlinks.com"},"Skimlinks")," is the leading commerce content monetization platform. Its technology automatically monetizes product links in commerce-related content."),(0,r.kt)("h2",{id:"skyport-systems"},"Skyport Systems"),(0,r.kt)("p",null,"Skyport Systems provides zero-effort, low-touch secure servers that help organizations to rapidly deploy and compartmentalize security-critical workloads. We use Druid as part of our analytics backend to provide real-time insight to our customers about their workload behavior."),(0,r.kt)("h2",{id:"slack"},"Slack"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://speakerdeck.com/vananth22/measuring-api-performance-using-druid"},"Measuring Slack API performance using Druid"))),(0,r.kt)("h2",{id:"smart-bid"},"Smart Bid"),(0,r.kt)("p",null,"Smart Bid is a unique marketing solution platform empowering advertising teams.\nA one-stop shop taking advantage of proprietary technology to analyze and reach the right audience with the right creative at the right time. We use Druid to gain real-time insights on real time bidding using our machine learning algorithms."),(0,r.kt)("h2",{id:"smyte"},"Smyte"),(0,r.kt)("p",null,"Smyte provides an API and UI for detecting and blocking bad actors on the internet. Druid powers the analytics portion of our user interface providing insight into what users are doing on the website, and specifically which features are unique between different sets of users."),(0,r.kt)("h2",{id:"snap-inc"},"Snap, Inc."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.slideshare.net/CharlesAllen9/data-analytics-and-processing-at-snap-druid-meetup-la-september-2018"},"Data Analytics and Processing at Snap"))),(0,r.kt)("h2",{id:"societe-generale"},"Societe Generale"),(0,r.kt)("p",null,"Societe Generale, one of Europe's leading financial services groups and a major player in the economy for over 150 years, supports 29 million clients every day with 138,000 staff in 62 countries."),(0,r.kt)("p",null,"Within the Societe Generale IT department, Apache Druid is used as Time Series Database in order to store performance metrics generated in real-time by thousands of servers, databases, middlewares. These data are stored in multiple Druid clusters in multiple regions (+840 vCPUs, +7000GB of RAM, +300 billions of events) and are used for many purposes, such as dashboarding and predictive maintenance use cases."),(0,r.kt)("h2",{id:"splunk"},"Splunk"),(0,r.kt)("p",null,"We went through the journey of deploying Apache Druid clusters on Kubernetes and created a ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/druid-io/druid-operator"},"druid-operator"),". We use this operator to deploy Druid clusters at Splunk."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/virtual-druid-summit/druid-on-kubernetes-with-druid-operator"},"Druid on Kubernetes with Druid-operator"))),(0,r.kt)("h2",{id:"spotx"},"SpotX"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=OlmbuyCH4lQ"},"BelFOSS 2018 SpotX: Hadoop, Spark & Druid"))),(0,r.kt)("h2",{id:"streamlyzer"},"Streamlyzer"),(0,r.kt)("p",null,"Streamlyzer uses Druid as a next generation online video analytics for online video companies or publishers. Streamlyzer is gathering information from real end-users of our customers and provides visualized real-time analytics in dashboard showing how video contents are delivered and how end-users are experiencing the streaming service."),(0,r.kt)("h2",{id:"sugo"},"Sugo"),(0,r.kt)("p",null,"Sugo is a company that focus on realtime multi-dimension analytics and mining on big data. We build our platform based on Druid, and developed our own extensions to make it more powerful."),(0,r.kt)("h2",{id:"superawesome"},"SuperAwesome"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.superawesome.com"},"SuperAwesome"),"\u2019s mission is to make the internet safer for kids. At the core of SuperAwesome\u2019s analytics is Apache Druid, which helps us relay key insights and data points back to our stakeholders and customers, as well as use this data to power our products themselves. This all happens in a kid-safe way and enables us to deliver the best level of service to billions of children and teens every month."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/superawesome-engineering/how-we-use-apache-druids-real-time-analytics-to-power-kidtech-at-superawesome-8da6a0fb28b1"},"How we use Apache Druid\u2019s real-time analytics to power kidtech at SuperAwesome")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/videos/virtual-apache-druid-meetup-featuring-superswesome"},"Virtual Apache Druid Meetup featuring SuperAwesome"))),(0,r.kt)("h2",{id:"sweet-couch"},"Sweet Couch"),(0,r.kt)("p",null,"Sweet Couch was a place to discover unique products which are buyable online. Druid powered Sweet Couch harvest which was an open analytics platform for tracking performance of online shops based out in India. All end user events were tracked and analysed using Druid for business insights."),(0,r.kt)("h2",{id:"swisscom"},"Swisscom"),(0,r.kt)("p",null,"We are providing machine-learning driven, anomaly detection services to our operations teams, using Druid to cover all our storage and query needs. These anomalies currently help engineers during maintenance windows to correct for possible outages before they even happen. Our Dataset includes over 3000 core-network devices and over double that amount in wireless transmission equipment. We ingest and process over 25 million records every minute, but we\u2019re just getting started with onboarding our platforms and services on Druid."),(0,r.kt)("h2",{id:"talkingdata"},"TalkingData"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"http://www.talkingdata.com/"},"TalkingData")," is China\u2019s largest independent Big Data service platform. TalkingData uses Druid with Atomcube, an extension for enhancement, to power analyze online application and advertising data."),(0,r.kt)("h2",{id:"target"},"Target"),(0,r.kt)("p",null,"Apache Druid\u2019s speed and flexibility allow us to provide interactive analytics to front-line, edge-of-business consumers to address hundreds of unique use-cases across several business units."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/virtual-druid-summit/enterprise-scale-analytics-platform-powered-by-druid-at-target"},"Enterprise Scale Analytics Platform Powered by Druid at Target")," ")),(0,r.kt)("h2",{id:"telemetrydeck-analytics"},"TelemetryDeck Analytics"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://telemetrydeck.com"},"TelemetryDeck")," helps app and web developers improve their product by supplying immediate, accurate usage data while users use their app. And the best part: It's all anonymized so users' data stays private!"),(0,r.kt)("h2",{id:"tencent"},"Tencent"),(0,r.kt)("p",null,"Tencent SCRM product use Druid for customer behavior analysis."),(0,r.kt)("h2",{id:"time-warner-cable"},"Time Warner Cable"),(0,r.kt)("p",null,"TWC uses Druid for exploratory analytics."),(0,r.kt)("h2",{id:"trafficguard"},"TrafficGuard"),(0,r.kt)("p",null,"TrafficGuard detects, mitigates and reports on ad fraud before it hits digital advertising budgets. Three formidable layers of protection block both general invalid traffic (GIVT) and sophisticated invalid traffic (SIVT) to ensure that digital advertising results in legitimate advertising engagement. With visibility of traffic across thousands of campaigns, TrafficGuard\u2019s machine learning can identify emerging patterns, trends and indicators of fraud quickly and reliably."),(0,r.kt)("p",null,"Druid is a key component of our Big Data Operation Insight Platform.We use imply.io\nLearn more about TrafficGuard\u2019s comprehensive fraud mitigation at (",(0,r.kt)("a",{parentName:"p",href:"https://www.trafficguard.ai"},"https://www.trafficguard.ai"),")"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/using-druid-to-fight-ad-fraud"},"Using Druid to fight ad fraud"))),(0,r.kt)("h2",{id:"trendyolcom---alibaba-group-company"},"Trendyol.com - Alibaba Group Company"),(0,r.kt)("p",null,"Trendyol, which is the largest e-commerce company in Turkey, uses Druid for real-time analytics. It is mostly used for providing insights to their suppliers."),(0,r.kt)("h2",{id:"triplelift"},"TripleLift"),(0,r.kt)("p",null,"TripleLift uses Druid to provide insights into performance aspects of its native programmatic exchange for sales/business development opportunities, and to provide reporting used by advertisers and publishers."),(0,r.kt)("h2",{id:"tripstack"},"TripStack"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.tripstack.com/"},"TripStack")," uses Druid to help gain business insight into the tens of billions of flight combinations that TripStack processes every day."),(0,r.kt)("h2",{id:"triton-digital"},"Triton Digital"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.tritondigital.com/"},"Triton Digital")," is the global technology and services leader to the audio streaming and podcast industry. Operating in more than 80 countries, Triton Digital provides innovative technology that enables broadcasters, podcasters, and online music services to build their audience, maximize their revenue, and streamline their operations. "),(0,r.kt)("p",null,"Triton Digital uses Druid to ",(0,r.kt)("a",{parentName:"p",href:"https://www.rilldata.com/powering-programmatic-analytics-at-triton-digital"},"power their programmatic analytics")," (",(0,r.kt)("em",{parentName:"p"},"Rill Data"),", Oct 2021)."),(0,r.kt)("h2",{id:"truecar"},"TrueCar"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.truecar.com"},"TrueCar")," is a leading automotive digital marketplace that enables car buyers to connect to our nationwide network of Certified Dealers. TrueCar uses Druid and Imply Cloud to help them make their dashboards real-time, detect anomalies, and do so while minimizing engineering and operational overhead. Druid enables TrueCar to unlock insights from digital interaction data, further empowers their data scientists and product teams to improve services with increased agility, and deliver a higher quality experience."),(0,r.kt)("h2",{id:"trustpilot"},"Trustpilot"),(0,r.kt)("p",null,"Trustpilot used Apache Druid to create an interactive application based on D3 that their entire company uses to put real time numbers behind every business decision. They replaced siloed applications built with Looker, Amplitude and others with Druid tp better respond to requests and provide more functionality to their end users."),(0,r.kt)("h2",{id:"twitch"},"Twitch"),(0,r.kt)("p",null,"In order to continue empowering decision making as Twitch scaled, we turned to using Druid and Imply to provide self service analytics to both our technical and non technical staff allowing them to drill into high level metrics in lieu of reading generated reports."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/virtual-druid-summit/self-service-analytics-at-twitch"},"Self Service Analytics at Twitch"))),(0,r.kt)("h2",{id:"twitter"},"Twitter"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/interactive-analytics-at-mopub.html"},"Interactive Analytics at MoPub: Querying Terabytes of Data in Seconds"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://blog.twitter.com/engineering/en_us/topics/infrastructure/2022/powering-real-time-data-analytics-with-druid-at-twitter"},"Powering real-time data analytics with Druid at Twitter")))),(0,r.kt)("h2",{id:"unity"},"Unity"),(0,r.kt)("p",null,"Unity's monetization business generates billions of in-game events in a multi-sided marketplace, which creates complexity, slowness, and overhead for reporting. To work around these issues, Unity deploys a Kafka, Spark, and Druid-based ingestion and aggregation pipeline."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/@linda0511ny/getting-started-with-druid-imply-17d194762574"},"Getting Started with Druid (Imply)"))),(0,r.kt)("h2",{id:"verizon"},"Verizon"),(0,r.kt)("p",null,"Verizon\u2019s network analytics platform leverages Druid as a real-time analytics engine to enable interactive analytics and performance metrics, support use cases like traffic capacity management using Netflow and network statistics, and provide a feature store for machine learning and service key performance indicators to monitor and quantify the health of Verizon\u2019s global networks. We chose Druid because it enables us to achieve our mission with sub-second latency on large datasets."),(0,r.kt)("h2",{id:"videoamp"},"VideoAmp"),(0,r.kt)("p",null,"At VideoAmp, Druid is a key component of our Big Data stack. It powers our real-time video advertising analytics at low granularity and huge scale. Druid has helped us minimized the time between event, insight and action."),(0,r.kt)("h2",{id:"vigiglobe"},"Vigiglobe"),(0,r.kt)("p",null,"Vigiglobe turns the noise of Social Media into real-time Smart Content. To this end, Druid enables us to maintain high request throughput coupled with huge data absorption capacity."),(0,r.kt)("h2",{id:"viralgains"},"ViralGains"),(0,r.kt)("p",null,"ViralGains uses Druid for real-time analysis of millions of viral video views, shares, and conversations."),(0,r.kt)("h2",{id:"virool"},"Virool"),(0,r.kt)("p",null,"Druid powers Virool\u2019s real time analytics of over 1 billion raw events per day. We query this data to gain a deep understanding of all of our inventory sources, from exchanges to direct partners, everything is available with lightning fast query times. Druid puts the power and flexibility of big data in each of our Viroolian\u2019s hands."),(0,r.kt)("h2",{id:"vserv"},"Vserv"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.vserv.com"},"Vserv")," is the leading authentic data platform for mobile marketing in India. We have successfully implemented Druid for analysis of digital marketing campaign data. "),(0,r.kt)("h2",{id:"walkme"},"WalkMe"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/how-walkme-uses-druid-and-imply-cloud"},"How WalkMe uses Druid and Imply Cloud to Analyze Clickstreams and User Behavior"))),(0,r.kt)("h2",{id:"walmart"},"Walmart"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://medium.com/walmartlabs/event-stream-analytics-at-walmart-with-druid-dcf1a37ceda7"},"Event Stream Analytics at Walmart with Druid"))),(0,r.kt)("h2",{id:"weq"},"WeQ"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"http://weq.com"},"WeQ")," is a leading mobile performance and branding ad-tech company headquartered in Berlin. Druid is one of the core services that helps WeQ drive user acquisition and engagement to deliver mobile performance and branding campaigns."),(0,r.kt)("p",null,"We are using Druid for real-time analytics that delivers business insights and power our anti-fraud tools. We are ingesting several billions of events per day using the Kafka real-time connector. Druid is a rock-solid and flexible foundation for our data system delivering blazing-fast analytics"),(0,r.kt)("h2",{id:"whylabs"},"WhyLabs"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://whylabs.ai/"},"WhyLabs")," is on a mission to build the interface between humans and AI applications. Our Data and AI Observability platform enables teams to monitor all of their ML models, regardless of scale, with zero configuration necessary. Druid allows WhyLabs to combine stream and batch processing to interactively explore and visualize statistically profiled datasets. "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=XV-rFsv9FTc"},"Migrating Our ML Insights Platform To Druid")," (Drew Dahlke), ",(0,r.kt)("em",{parentName:"li"},"Imply ","[YouTube]"),", 10 Dec 2021.")),(0,r.kt)("h2",{id:"wikimedia-foundation"},"Wikimedia Foundation"),(0,r.kt)("p",null,"We're serving pageview data via Druid and Pivot.  Our internal customers are loving it and we're working on allowing public access to sanitized data, both editing and pageview.  We like Druid because it's open source, the folks that work on it have built a good community, and it's about five times faster than Hive for us right now, without any tuning or optimization (and the Hadoop cluster is beefier than the Druid one), just dumped lots of data into it and Pivot was immediately useful to our analysts.  We wrote a ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/wikimedia/operations-puppet/tree/production/modules/druid"},"puppet")," module that others might find helpful."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.oreilly.com/library/view/strata-data-conference/9781491976326/video316954.html"},"Analytics at Wikipedia")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://speakerdeck.com/druidio/analytics-at-wikipedia-with-druid"},"Analytics at Wikipedia with Druid"))),(0,r.kt)("h2",{id:"wipro"},"Wipro"),(0,r.kt)("p",null,"Wipro Limited is an Indian multinational corporation that provides information technology, consulting and business process services. Wipro is using Druid to track and monitor the performance of internal applications and to gain insights from data in real-time. "),(0,r.kt)("h2",{id:"wiremind"},"Wiremind"),(0,r.kt)("p",null,"Wiremind develops solutions for optimizing sold capacity (passenger transportation, airfreight and event/sport ticketing) that blend UX, software and data science."),(0,r.kt)("p",null,"We process thousands of millions of rows of data to serve our machine learning models and ingest tens of millions of rows by batch indexation each day. We chose Druid because it gives us the ability to query data effectively, the capacity to manage ingesting tasks easily, and the capability to split data for our diverse clients while having a highly scalable architecture for our growth."),(0,r.kt)("h2",{id:"xiaomi"},"Xiaomi"),(0,r.kt)("p",null,"Xiaomi uses Druid as an analytics tool to analyze online advertising data."),(0,r.kt)("h2",{id:"yahoo"},"Yahoo"),(0,r.kt)("p",null,"Yahoo uses Druid to power various customer-facing audience and advertising analytics products."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://speakerdeck.com/implydatainc/druid-ecosystem-at-yahoo"},"Druid Ecosystem at Yahoo")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://yahooeng.tumblr.com/post/125287346011/complementing-hadoop-at-yahoo-interactive"},"Complementing Hadoop at Yahoo: Interactive Analytics with Druid")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://yahooeng.tumblr.com/post/147711922956/combining-druid-and-datasketches-for-real-time"},"Combining Druid and DataSketches for Real-time, Robust Behavioral Analytics"))),(0,r.kt)("h2",{id:"yeahmobi"},"YeahMobi"),(0,r.kt)("p",null,"YeahMobi uses Druid to power a dashboard used for ad-tech analytics such as impression and conversion tracking, unique IP statistics, and aggregating metrics such as costs and revenues."),(0,r.kt)("h2",{id:"yieldr"},"Yieldr"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.yieldr.com"},"Yieldr")," uses Druid to power real-time web and mobile analytics for airlines across the globe."),(0,r.kt)("h2",{id:"youku-tudou"},"Youku Tudou"),(0,r.kt)("p",null,"Youku Tudou employs Druid for real-time advertising analysis of huge volumes of data."),(0,r.kt)("h2",{id:"youzan"},"Youzan"),(0,r.kt)("p",null,"China Youzan is a SaaS company which principally engaged in retail science and technology. We use Druid for business intelligence (BI) analytics and application performance management (APM) metrics"),(0,r.kt)("h2",{id:"zapr"},"Zapr"),(0,r.kt)("p",null,"Zapr is leveraging Druid to analyze TV viewership data and powering analytical dashboards to report real time user behavior. "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://www.meetup.com/Delhi-Apache-Druid-Meetup-Group/events/267001583/"},"Apache Druid: Sub-second Slice and Dice your Data!"))),(0,r.kt)("h2",{id:"zeotap"},"Zeotap"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/apache-druid-helps-zeotap-master-multi-channel-attribution"},"Apache Druid helps Zeotap Master Multi-Channel Attribution at Scale"))),(0,r.kt)("h2",{id:"zhihu"},"Zhihu"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.zhihu.com/"},"Zhihu")," is a Chinese question-and-answer website. In Zhihu, Druid is used to power clients' interactive queries, data reports, A/B testing and performance monitoring. Almost 1T per day data is ingested into druid cluster, and we are strongly depending on thetaSketch aggregator for computing cardinality and retention, looking forward to more improvement on DataSketch."),(0,r.kt)("h2",{id:"zilingo"},"Zilingo"),(0,r.kt)("p",null,"Zilingo's data collection infrastructure, processing pipeline and analytics stack is based on Druid. Data is collected from various IOT devices/sensors, mobile and tablet devices and 3p data and is streamed in near realtime. This allows our customers to get a view of the supply chain with thousands of data points via dashboards, reports and the ability to slice and dice data."),(0,r.kt)("h2",{id:"zscaler"},"Zscaler"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://imply.io/post/druid-at-zscaler-security-log-analytics"},"Druid @ Zscaler - A Retrospective"))),(0,r.kt)("h2",{id:"zuoyebang"},"Zuoyebang"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.zybang.com/"},"Zuoyebang")," is the most used K12 education platform, 7 out of every 10 K12 users are using Zuoyebang. At Zuoyebang Data Platform Group, we use the Druid in the advertising scene,  mainly related to advertising display, click, billing, and other functions. The performance and timeliness of druid can meet our OLAP queries very well."),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/apache/druid-website-src/blob/master/druid-powered.md"},"Add Your Company")))}m.isMDXComponent=!0}}]);