CINXE.COM

Vivien Dollinger

<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <link rel="pingback" href="https://objectbox.io/wordpress/xmlrpc.php" /> <script type="text/javascript"> document.documentElement.className = 'js'; </script> <meta name='robots' content='noindex, follow' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- Preload key fonts to reduce CLS --> <!-- <link rel="preload" href="https://objectbox.io/wordpress/wp-content/themes/Divi/fonts/ETmodules_v4.woff2" as="font" type="font/woff2" crossorigin> --> <link rel="preload" href="https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2" as="font" type="font/woff2" crossorigin> <!-- This site is optimized with the Yoast SEO plugin v23.7 - https://yoast.com/wordpress/plugins/seo/ --> <title>Vivien Dollinger</title> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="profile" /> <meta property="og:title" content="Vivien Dollinger" /> <meta property="og:url" content="https://objectbox.io/author/vivien/" /> <meta property="og:site_name" content="ObjectBox" /> <meta property="og:image" content="https://secure.gravatar.com/avatar/f5b9dacdc7f63c622a4d6ac2833705b8?s=500&d=mm&r=g" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@objectbox_io" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"ProfilePage","@id":"https://objectbox.io/author/vivien/","url":"https://objectbox.io/author/vivien/","name":"Vivien Dollinger","isPartOf":{"@id":"https://objectbox.io/#website"},"primaryImageOfPage":{"@id":"https://objectbox.io/author/vivien/#primaryimage"},"image":{"@id":"https://objectbox.io/author/vivien/#primaryimage"},"thumbnailUrl":"https://objectbox.io/wordpress/wp-content/uploads/2025/02/EdgeAIForRetail2025.jpg","breadcrumb":{"@id":"https://objectbox.io/author/vivien/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://objectbox.io/author/vivien/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://objectbox.io/author/vivien/#primaryimage","url":"https://objectbox.io/wordpress/wp-content/uploads/2025/02/EdgeAIForRetail2025.jpg","contentUrl":"https://objectbox.io/wordpress/wp-content/uploads/2025/02/EdgeAIForRetail2025.jpg","width":2000,"height":1158,"caption":"EdgeAIForRetail2025"},{"@type":"BreadcrumbList","@id":"https://objectbox.io/author/vivien/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"ObjectBox","item":"https://objectbox.io/"},{"@type":"ListItem","position":2,"name":"Archives for Vivien"}]},{"@type":"WebSite","@id":"https://objectbox.io/#website","url":"https://objectbox.io/","name":"ObjectBox","description":"Fast on-device database with vector search for Mobile, IoT &amp; other embedded devices","publisher":{"@id":"https://objectbox.io/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://objectbox.io/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://objectbox.io/#organization","name":"ObjectBox","url":"https://objectbox.io/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://objectbox.io/#/schema/logo/image/","url":"https://objectbox.io/wordpress/wp-content/uploads/2021/06/objectbox-logo.png","contentUrl":"https://objectbox.io/wordpress/wp-content/uploads/2021/06/objectbox-logo.png","width":559,"height":186,"caption":"ObjectBox"},"image":{"@id":"https://objectbox.io/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/objectboxTeam/","https://x.com/objectbox_io","https://www.instagram.com/objectbox_io/","https://www.linkedin.com/company/objectbox","https://www.youtube.com/channel/UCLs3F3Lhh8pjC66WZIopJ6Q"]},{"@type":"Person","@id":"https://objectbox.io/#/schema/person/46a1550fc3640199c68a6ec8202d6f8b","name":"Vivien","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://objectbox.io/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/f5b9dacdc7f63c622a4d6ac2833705b8?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/f5b9dacdc7f63c622a4d6ac2833705b8?s=96&d=mm&r=g","caption":"Vivien"},"description":"CEO and Co-founder of ObjectBox, former Development Director at Koch Media, speaker on Edge Computing, databases, open source, and especially Edge AI","sameAs":["https://www.facebook.com/vivien.dollinger.5","https://www.linkedin.com/in/vivien-dollinger/","https://x.com/mobile_n_games"],"mainEntityOfPage":{"@id":"https://objectbox.io/author/vivien/"}}]}</script> <!-- / Yoast SEO plugin. --> <link rel="alternate" type="application/rss+xml" title="ObjectBox &raquo; Feed" href="https://objectbox.io/feed/" /> <link rel="alternate" type="application/rss+xml" title="ObjectBox &raquo; Comments Feed" href="https://objectbox.io/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="ObjectBox &raquo; Posts by Vivien Feed" href="https://objectbox.io/author/vivien/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/objectbox.io\/wordpress\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <meta content="ObjectBox Divi v.1.0.1" name="generator"/><link rel='stylesheet' id='crayon-theme-objectbox-dark-css' href='https://objectbox.io/wordpress/wp-content/uploads/urvanov-syntax-highlighter/themes/objectbox-dark/objectbox-dark.css?ver=2.8.34' type='text/css' media='all' /> <link rel='stylesheet' id='crayon-font-monospace-css' href='https://objectbox.io/wordpress/wp-content/plugins/urvanov-syntax-highlighter/fonts/monospace.css?ver=2.8.34' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://objectbox.io/wordpress/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' type='text/css' media='all' /> <style id='wp-block-library-theme-inline-css' type='text/css'> .wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:root { --wp--style--global--content-size: 823px;--wp--style--global--wide-size: 1080px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){text-decoration: underline;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;line-height: inherit;padding: calc(0.667em + 2px) calc(1.333em + 2px);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='cookie-notice-front-css' href='https://objectbox.io/wordpress/wp-content/plugins/cookie-notice/css/front.min.css?ver=2.5.6' type='text/css' media='all' /> <link rel='stylesheet' id='dvmd-tm-public-module-style-css' href='https://objectbox.io/wordpress/wp-content/plugins/divi-modules-table-maker/extensions/styles/public-module-style.css?ver=3.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='divi-torque-lite-modules-style-css' href='https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/css/modules-style.css?ver=4.0.5' type='text/css' media='all' /> <link rel='stylesheet' id='divi-torque-lite-magnific-popup-css' href='https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/libs/magnific-popup/magnific-popup.min.css?ver=4.0.5' type='text/css' media='all' /> <link rel='stylesheet' id='divi-torque-lite-frontend-css' href='https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/css/frontend.css?ver=4.0.5' type='text/css' media='all' /> <link rel='stylesheet' id='divi-modules-table-maker-styles-css' href='https://objectbox.io/wordpress/wp-content/plugins/divi-modules-table-maker/extensions/divi-4/styles/style.min.css?ver=3.1.2' type='text/css' media='all' /> <link rel='stylesheet' id='jquery-lazyloadxt-spinner-css-css' href='//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/css/jquery.lazyloadxt.spinner.css?ver=6.7.2' type='text/css' media='all' /> <link rel='stylesheet' id='divi-style-parent-css' href='https://objectbox.io/wordpress/wp-content/themes/Divi/style-static.min.css?ver=4.22.0' type='text/css' media='all' /> <link rel='stylesheet' id='divi-style-css' href='https://objectbox.io/wordpress/wp-content/themes/obx-divi-child/style.css?ver=4.22.0' type='text/css' media='all' /> <style id='divi-style-inline-css' type='text/css'> picture#logo { display: inherit; } picture#logo source, picture#logo img { width: auto; max-height: 45%; vertical-align: middle; } @media (min-width: 981px) { .et_vertical_nav #main-header picture#logo source, .et_vertical_nav #main-header picture#logo img { margin-bottom: 28px; } } </style> <script type="text/javascript" id="cookie-notice-front-js-before"> /* <![CDATA[ */ var cnArgs = {"ajaxUrl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","nonce":"7169c2b136","hideEffect":"none","position":"top","onScroll":true,"onScrollOffset":500,"onClick":true,"cookieName":"cookie_notice_accepted","cookieTime":31536000,"cookieTimeRejected":2592000,"globalCookie":false,"redirection":false,"cache":true,"revokeCookies":false,"revokeCookiesOpt":"automatic"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/cookie-notice/js/front.min.js?ver=2.5.6" id="cookie-notice-front-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://objectbox.io/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://objectbox.io/wp-json/wp/v2/users/2" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://objectbox.io/wordpress/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <style>.dbcs-clipboard-button { position: absolute; right: 1em; margin-top: 0.7em; font-family: 'ETmodules' !important; font-size: 16pt; opacity: 0.4; cursor: pointer; } .dbcs-clipboard-button:before { content: '\69'; } .dbcs-clipboard-button:hover { opacity: 1; } .dbcs-clipboard-button.dbcs-copied-to-clipboard { color: green; opacity: 1; } .dbcs-clipboard-button.dbcs-copied-to-clipboard:before { content: '\4e'; } .dbcs-clipboard-enabled .hljs-table td.hljs-line { padding-right: 55px; } .dbcs-clipboard-enabled .dbcs-clipboard-button { opacity: 1; background: rgba(240, 240, 240, 0.9) !important; padding: 7px; right: 0.35em; margin-top: 0.35em; border-radius: 4px } .dbcs-clipboard-enabled .dbcs-clipboard-button:before { opacity: 0.8; } .dbcs-clipboard-enabled .dbcs-clipboard-button:hover:before { opacity: 1; }</style><style> .et_pb_dmb_code_snippet pre code:before, #et_builder_outer_content .et_pb_dmb_code_snippet pre code:before{ font-family: monospace; } .et_pb_dmb_code_snippet pre code table.hljs-table td.hljs-line-number, #et_builder_outer_content .et_pb_dmb_code_snippet pre code table.hljs-table td.hljs-line-number { user-select: none; text-align: right; white-space: nowrap; vertical-align: top; } .et_pb_dmb_code_snippet pre code:not(.show_linenums) table.hljs-table td.hljs-line-number, #et_builder_outer_content .et_pb_dmb_code_snippet pre code:not(.show_linenums) table.hljs-table td.hljs-line-number, .et_pb_dmb_code_snippet pre code:not(.show_linenums) table.hljs-table col.hljs-line-numbers, #et_builder_outer_content .et_pb_dmb_code_snippet pre code:not(.show_linenums) table.hljs-table col.hljs-line-numbers { display: none; } </style> <style> .et_pb_dmb_code_snippet code.dbcs-wrap-lines .hljs-line * { white-space: pre-wrap; overflow-wrap: anywhere; } </style> <style> .et_pb_dmb_code_snippet { visibility: hidden; } </style><script type="text/javascript"> (function(url){ if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; } var addEvent = function(evt, handler) { if (window.addEventListener) { document.addEventListener(evt, handler, false); } else if (window.attachEvent) { document.attachEvent('on' + evt, handler); } }; var removeEvent = function(evt, handler) { if (window.removeEventListener) { document.removeEventListener(evt, handler, false); } else if (window.detachEvent) { document.detachEvent('on' + evt, handler); } }; var evts = 'contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop keydown keypress keyup mousedown mousemove mouseout mouseover mouseup mousewheel scroll'.split(' '); var logHuman = function() { if (window.wfLogHumanRan) { return; } window.wfLogHumanRan = true; var wfscr = document.createElement('script'); wfscr.type = 'text/javascript'; wfscr.async = true; wfscr.src = url + '&r=' + Math.random(); (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr); for (var i = 0; i < evts.length; i++) { removeEvent(evts[i], logHuman); } }; for (var i = 0; i < evts.length; i++) { addEvent(evts[i], logHuman); } })('//objectbox.io/?wordfence_lh=1&hid=5BFE407CE120EA476F283075F86A9811'); </script><script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Blog", "name": "ObjectBox Blog", "url": "https://objectbox.io/why-edge-ai-is-crucial-for-retail-and-pos-systems-in-2025/", "description": "Technical articles and updates about ObjectBox database", "publisher": { "@type": "Organization", "name": "ObjectBox", "logo": { "@type": "ImageObject", "url": "https://objectbox.io/wp-content/uploads/2023/01/objectbox-logo.png" } }, "keywords": "vector database, edge computing, mobile database, embedded database, NoSQL, data sync, on-device AI, edge AI, privacy-first, small language models" }</script><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /><style type="text/css" id="tve_global_variables">:root{--tcb-color-0:rgb(125, 220, 125);--tcb-color-0-h:120;--tcb-color-0-s:57%;--tcb-color-0-l:67%;--tcb-color-0-a:1;--tcb-gradient-0:linear-gradient(54deg, rgb(230, 25, 85) 0%, rgb(245, 150, 45) 64%, rgb(249, 229, 5) 100%, var(--tcb-color-0) 100%);--tcb-background-author-image:url(https://secure.gravatar.com/avatar/f5b9dacdc7f63c622a4d6ac2833705b8?s=256&d=mm&r=g);--tcb-background-user-image:url();--tcb-background-featured-image-thumbnail:url(https://objectbox.io/wordpress/wp-content/uploads/2025/02/EdgeAIForRetail2025.jpg);}</style><style type="text/css" id="custom-background-css"> body.custom-background { background-color: #f7f7f7; } </style> <script id='nitro-telemetry-meta' nitro-exclude>window.NPTelemetryMetadata={missReason: (!window.NITROPACK_STATE ? 'request type not allowed' : 'hit'),pageType: 'author',isEligibleForOptimization: false,}</script><script id='nitro-generic' nitro-exclude>(()=>{window.NitroPack=window.NitroPack||{coreVersion:"na",isCounted:!1};let e=document.createElement("script");if(e.src="https://nitroscripts.com/JNiKLBzGPsfbQJqUQoZqIbUrxBklWopT",e.async=!0,e.id="nitro-script",document.head.appendChild(e),!window.NitroPack.isCounted){window.NitroPack.isCounted=!0;let t=()=>{navigator.sendBeacon("https://to.getnitropack.com/p",JSON.stringify({siteId:"JNiKLBzGPsfbQJqUQoZqIbUrxBklWopT",url:window.location.href,isOptimized:!!window.IS_NITROPACK,coreVersion:"na",missReason:window.NPTelemetryMetadata?.missReason||"",pageType:window.NPTelemetryMetadata?.pageType||"",isEligibleForOptimization:!!window.NPTelemetryMetadata?.isEligibleForOptimization}))};(()=>{let e=()=>new Promise(e=>{"complete"===document.readyState?e():window.addEventListener("load",e)}),i=()=>new Promise(e=>{document.prerendering?document.addEventListener("prerenderingchange",e,{once:!0}):e()}),a=async()=>{await i(),await e(),t()};a()})(),window.addEventListener("pageshow",e=>{if(e.persisted){let i=document.prerendering||self.performance?.getEntriesByType?.("navigation")[0]?.activationStart>0;"visible"!==document.visibilityState||i||t()}})}})();</script><!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-68353717-3"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-68353717-3'); gtag('config', 'G-PNBER16ZJB'); </script> <!-- Viewport setup for mobile responsiveness --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Preconnect for faster font loading --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <!-- Load Roboto correctly (no preload needed) <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet"> --><style type="text/css" id="thrive-default-styles"></style><link rel="icon" href="https://objectbox.io/wordpress/wp-content/uploads/2022/11/cropped-OB-square-transparent-logo-teal-48x48-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://objectbox.io/wordpress/wp-content/uploads/2022/11/cropped-OB-square-transparent-logo-teal-48x48-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://objectbox.io/wordpress/wp-content/uploads/2022/11/cropped-OB-square-transparent-logo-teal-48x48-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://objectbox.io/wordpress/wp-content/uploads/2022/11/cropped-OB-square-transparent-logo-teal-48x48-1-270x270.png" /> <link rel="stylesheet" id="et-divi-customizer-global-cached-inline-styles" href="https://objectbox.io/wordpress/wp-content/et-cache/global/et-divi-customizer-global.min.css?ver=1744211391" /></head> <body class="archive author author-vivien author-2 custom-background et-tb-has-template et-tb-has-header cookies-not-set et_button_no_icon et_pb_button_helper_class et_pb_footer_columns3 et_cover_background windows et_pb_gutters3 et_right_sidebar et_divi_theme et-db"> <div id="page-container"> <div id="et-boc" class="et-boc"> <header class="et-l et-l--header"> <div class="et_builder_inner_content et_pb_gutters3"><div class="et_pb_with_border et_pb_section et_pb_section_0_tb_header et_pb_sticky_module et_pb_with_background et_section_regular et_pb_section--with-menu" > <div class="et_pb_row et_pb_row_0_tb_header et_pb_row--with-menu"> <div class="et_pb_column et_pb_column_3_4 et_pb_column_0_tb_header et_pb_css_mix_blend_mode_passthrough et_pb_column--with-menu"> <div class="et_pb_module et_pb_code et_pb_code_0_tb_header"> <div class="et_pb_code_inner"><style> .dfh-2 .et_mobile_menu li:not(:last-child) a, .dfh-2 .nav li li:not(:last-child), .dfh-2 .et-menu-nav li.mega-menu>ul>li>a:first-child, .dfh-2 .et-menu-nav li.mega-menu ul li ul li:not(:last-child) a { border-bottom: 1px solid rgb(255,255,255,0.2) !important; } @media screen and (min-width: 981px) { .dfh-2 .sub-menu:before { color: #ffffff; } } </style></div> </div><div class="et_pb_module et_pb_code et_pb_code_1_tb_header"> <div class="et_pb_code_inner"><script> (function($) { function dfh_collapse_menu() { var ParentMenuItem = $('.dfh-2 .et_mobile_menu .menu-item-has-children > a'); ParentMenuItem.off('click').click(function() { $(this).attr('href', '#/'); $(this).parent().children().children().toggleClass('dfh-show-menu-items'); $(this).toggleClass('dfh-menu-switched-icon'); }); } $(window).load(function() { setTimeout(function() { dfh_collapse_menu(); }, 700); }); })(jQuery); </script> <style> .dfh-2 .et_mobile_menu .menu-item-has-children > a:after { content: '\50'; display: block !important; font-family: 'ETmodules'; font-size: 16px; font-weight: normal; position: absolute; right: 10px; top: 13px; } .dfh-2 .et_mobile_menu .menu-item-has-children > .dfh-menu-switched-icon:after { content: '\4f'; } .dfh-2 .et_mobile_menu .menu-item-has-children > a { position: relative; } .dfh-2 .et_mobile_menu .menu-item-has-children .sub-menu li { display: none; } .dfh-2 .et_mobile_menu .menu-item-has-children .sub-menu .dfh-show-menu-items { display: block; } .dfh-2 .nav li li { padding: 0 !important; } .dfh-2 .et_pb_menu .et_mobile_menu, .dfh-2 .et_mobile_menu { padding: 0 !important; border-width: 2px; border-radius: 5px; } .dfh-2 .et_pb_menu .et_mobile_menu a, .dfh-2 .et_mobile_menu a { padding: 12px 20px !important; } .dfh-2.et_pb_menu .et-menu-nav li.mega-menu ul.sub-menu { border-width: 2px !important; border-radius: 5px !important; padding: 10px 20px !important; width: 100% !important; } .dfh-2 .nav li.mega-menu li { border-bottom: none !important; } .et-db #et-boc .et-l .dfh-2 .et-menu-nav li.mega-menu li>a { width: 140px !important; } .dfh-2.et_pb_menu .et-menu-nav li.mega-menu ul.sub-menu a { padding: 12px 0 !important; } @media screen and (min-width: 981px) { .dfh-2 .et-menu > .menu-item-has-children > .sub-menu:before { font-family: ETmodules; content: '\42'; position: absolute; right: 20px; top: -17px; font-size: 30px; } .dfh-2 .et-menu > .menu-item-has-children.mega-menu > .sub-menu:before { content: ''; } .dfh-2 .et-menu .sub-menu .menu-item-has-children>a:first-child:after { content: "\35" !important; } .et-db #et-boc .et-l .dfh-2.et_pb_menu .et-menu-nav li ul.sub-menu li ul.sub-menu { left: 200px !important; top: 0; } .et-db #et-boc .et-l .dfh-2.et_pb_menu .et-menu-nav li.mega-menu ul.sub-menu li ul.sub-menu { left: 0 !important; padding: 0 !important; } } @media screen and (max-width: 980px) { .dfh-2 .et_pb_menu__wrap { margin-top: -8px; } } </style></div> </div><div class="et_pb_with_border et_pb_module et_pb_menu et_pb_menu_0_tb_header dfh-2 et_pb_bg_layout_light et_pb_text_align_left et_dropdown_animation_fade et_pb_menu--with-logo et_pb_menu--style-left_aligned"> <div class="et_pb_menu_inner_container clearfix"> <div class="et_pb_menu__logo-wrap"> <div class="et_pb_menu__logo"> <a href="https://objectbox.io/" ><img decoding="async" width="500" height="120" src="https://objectbox.io/wordpress/wp-content/uploads/2024/09/logo-white-500pxf.png" alt="" class="wp-image-259569" data-et-multi-view="{&quot;schema&quot;:{&quot;attrs&quot;:{&quot;desktop&quot;:{&quot;src&quot;:&quot;https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2024\/09\/logo-white-500pxf.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;class&quot;:&quot;wp-image-259569&quot;},&quot;tablet&quot;:{&quot;src&quot;:&quot;https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/01\/logo-white-500px-300x72.png&quot;}}},&quot;slug&quot;:&quot;et_pb_menu&quot;,&quot;hover_selector&quot;:&quot;.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap .et_pb_menu__logo img&quot;}" /></a> </div> </div> <div class="et_pb_menu__wrap"> <div class="et_pb_menu__menu"> <nav class="et-menu-nav"><ul id="menu-main-menu" class="et-menu nav"><li class="first-level et_pb_menu_page_id-35279 menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-35279"><a>Product</a> <ul class="sub-menu"> <li class="et_pb_menu_page_id-257334 menu-item menu-item-type-post_type menu-item-object-page menu-item-257919"><a href="https://objectbox.io/vector-database-for-ondevice-ai/">The vector database for on-device AI</a></li> <li class="second-level et_pb_menu_page_id-33019 menu-item menu-item-type-post_type menu-item-object-page menu-item-33433"><a href="https://objectbox.io/sync/">Data Sync</a></li> <li class="second-level et_pb_menu_page_id-223067 menu-item menu-item-type-post_type menu-item-object-page menu-item-223155"><a href="https://objectbox.io/embedded-database/" title="Embedded Database for Embedded Devices">Embedded Database</a></li> <li class="second-level et_pb_menu_page_id-35148 menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-35277"><a href="https://objectbox.io/mobile-database/">Mobile Database</a> <ul class="sub-menu"> <li class="et_pb_menu_page_id-222066 menu-item menu-item-type-post_type menu-item-object-page menu-item-222378"><a href="https://objectbox.io/swift-database-for-ios/">Swift Database for iOS</a></li> <li class="et_pb_menu_page_id-223156 menu-item menu-item-type-post_type menu-item-object-page menu-item-223274"><a href="https://objectbox.io/android-database/">Android Database</a></li> <li class="et_pb_menu_page_id-223479 menu-item menu-item-type-post_type menu-item-object-page menu-item-223868"><a href="https://objectbox.io/flutter-database/">Flutter Database</a></li> </ul> </li> <li class="et_pb_menu_page_id-258495 menu-item menu-item-type-post_type menu-item-object-page menu-item-258707"><a href="https://objectbox.io/time-series-database/">Time Series DB</a></li> <li class="second-level et_pb_menu_page_id-34014 menu-item menu-item-type-post_type menu-item-object-page menu-item-34399"><a href="https://objectbox.io/iot-edge-computing-database-decentralized-data-flows/">IoT DB for the edge</a></li> <li class="second-level et_pb_menu_page_id-35961 menu-item menu-item-type-post_type menu-item-object-page menu-item-41668"><a href="https://objectbox.io/edgex/">ObjectBox EdgeX</a></li> </ul> </li> <li class="first-level et_pb_menu_page_id-39185 menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-39185"><a>Solutions</a> <ul class="sub-menu"> <li class="second-level et_pb_menu_page_id-260370 menu-item menu-item-type-post_type menu-item-object-page menu-item-260694"><a href="https://objectbox.io/connected-car-data-storage-and-sync/">Connected Cars</a></li> <li class="second-level et_pb_menu_page_id-38910 menu-item menu-item-type-post_type menu-item-object-page menu-item-39178"><a href="https://objectbox.io/iiot-edge-computing/">Industrial IoT</a></li> <li class="second-level et_pb_menu_page_id-49453 menu-item menu-item-type-post_type menu-item-object-page menu-item-49867"><a href="https://objectbox.io/energy-edge-computing/">Energy Industry</a></li> <li class="second-level et_pb_menu_page_id-38644 menu-item menu-item-type-post_type menu-item-object-page menu-item-39005"><a href="https://objectbox.io/smart-mobility/">Smart Mobility</a></li> <li class="second-level et_pb_menu_page_id-46718 menu-item menu-item-type-post_type menu-item-object-page menu-item-48012"><a href="https://objectbox.io/retail-edge-computing/">Retail Services</a></li> <li class="second-level et_pb_menu_page_id-50045 menu-item menu-item-type-post_type menu-item-object-page menu-item-50291"><a href="https://objectbox.io/games/">Games</a></li> <li class="second-level et_pb_menu_page_id-34759 menu-item menu-item-type-post_type menu-item-object-page menu-item-35893"><a href="https://objectbox.io/iot-edge-computing-database-decentralized-data-flows/iot-use-cases-edge-computing/">IoT Use Cases</a></li> </ul> </li> <li class="first-level et_pb_menu_page_id-28602 menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-28602"><a>Developers</a> <ul class="sub-menu"> <li class="second-level et_pb_menu_page_id-35049 menu-item menu-item-type-post_type menu-item-object-page menu-item-35212"><a href="https://objectbox.io/offline-first-mobile-database/">Overview</a></li> <li class="second-level et_pb_menu_page_id-53043 menu-item menu-item-type-custom menu-item-object-custom menu-item-53043"><a href="https://sync.objectbox.io/">Sync Docs</a></li> <li class="second-level et_pb_menu_page_id-35273 menu-item menu-item-type-custom menu-item-object-custom menu-item-35273"><a href="https://docs.objectbox.io/">Java Docs</a></li> <li class="second-level et_pb_menu_page_id-35275 menu-item menu-item-type-custom menu-item-object-custom menu-item-35275"><a href="https://cpp.objectbox.io/">C / C++ Docs</a></li> <li class="second-level et_pb_menu_page_id-35364 menu-item menu-item-type-custom menu-item-object-custom menu-item-35364"><a href="https://golang.objectbox.io/">Go Docs</a></li> <li class="second-level et_pb_menu_page_id-35281 menu-item menu-item-type-custom menu-item-object-custom menu-item-35281"><a href="https://docs.objectbox.io/kotlin-support">Kotlin Docs</a></li> <li class="second-level et_pb_menu_page_id-35274 menu-item menu-item-type-custom menu-item-object-custom menu-item-35274"><a href="https://swift.objectbox.io/">Swift Docs</a></li> <li class="second-level et_pb_menu_page_id-50071 menu-item menu-item-type-custom menu-item-object-custom menu-item-50071"><a href="https://github.com/objectbox/objectbox-dart">Flutter / Dart</a></li> <li class="second-level et_pb_menu_page_id-50463 menu-item menu-item-type-post_type menu-item-object-page menu-item-50484"><a href="https://objectbox.io/offline-docs-pdf-download/">Offline Docs / PDF Download</a></li> <li class="second-level et_pb_menu_page_id-30804 menu-item menu-item-type-post_type menu-item-object-page menu-item-30829"><a href="https://objectbox.io/faq/">FAQ</a></li> </ul> </li> <li class="first-level et_pb_menu_page_id-33340 menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-33736"><a href="https://objectbox.io/about-us/">Company</a> <ul class="sub-menu"> <li class="second-level et_pb_menu_page_id-33340 menu-item menu-item-type-post_type menu-item-object-page menu-item-33737"><a href="https://objectbox.io/about-us/">About Us</a></li> <li class="second-level et_pb_menu_page_id-32135 menu-item menu-item-type-post_type menu-item-object-page menu-item-32157"><a href="https://objectbox.io/jobs/">Jobs</a></li> <li class="second-level et_pb_menu_page_id-35211 menu-item menu-item-type-post_type menu-item-object-page menu-item-35268"><a href="https://objectbox.io/events/">Events</a></li> <li class="second-level et_pb_menu_page_id-35703 menu-item menu-item-type-post_type menu-item-object-page menu-item-35730"><a href="https://objectbox.io/iot-mobile-insights-learnings-research-studies/">Insights</a></li> <li class="et_pb_menu_page_id-50886 menu-item menu-item-type-post_type menu-item-object-page menu-item-223175"><a href="https://objectbox.io/software-we-love/">Software we 🤍</a></li> <li class="et_pb_menu_page_id-257704 menu-item menu-item-type-post_type menu-item-object-page menu-item-257890"><a href="https://objectbox.io/contact-us/">Contact us</a></li> </ul> </li> <li class="first-level et_pb_menu_page_id-31231 menu-item menu-item-type-post_type menu-item-object-page menu-item-31319"><a href="https://objectbox.io/blog/">Blog</a></li> <li class="et_pb_menu_page_id-259820 menu-item menu-item-type-post_type menu-item-object-page menu-item-260029"><a href="https://objectbox.io/mongodb/"><font color="#17A6A6">MongoDB Connector</font></a></li> </ul></nav> </div> <div class="et_mobile_nav_menu"> <div class="mobile_nav closed"> <span class="mobile_menu_bar"></span> </div> </div> </div> </div> </div> </div><div class="et_pb_column et_pb_column_1_4 et_pb_column_1_tb_header et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_button_module_wrapper et_pb_button_0_tb_header_wrapper et_pb_button_alignment_center et_pb_module "> <a class="et_pb_button et_pb_button_0_tb_header et_pb_bg_layout_dark" href="https://github.com/objectbox/" target="_blank" data-icon="&#xf09b;">45.8k</a> </div><div class="et_pb_button_module_wrapper et_pb_button_1_tb_header_wrapper et_pb_button_alignment_center et_pb_module "> <a class="et_pb_button et_pb_button_1_tb_header et_pb_bg_layout_dark" href="https://objectbox.io/offline-first-mobile-database/">Get started</a> </div> </div> </div> </div> </div> </header> <div id="et-main-area"> <div id="main-content"> <div class="container"> <div id="content-area" class="clearfix"> <div id="left-area"> <article id="post-261404" class="et_pb_post post-261404 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-edge-ai category-edge-computing category-edge-database category-iot category-mobile-database category-vector-database tag-edge-ai tag-edge-computing tag-pos tag-retail"> <a class="entry-featured-image-url" href="https://objectbox.io/why-edge-ai-is-crucial-for-retail-and-pos-systems-in-2025/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2025/02/EdgeAIForRetail2025-1080x675.jpg" alt="Why Edge AI is crucial for retail and POS systems in 2025" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/why-edge-ai-is-crucial-for-retail-and-pos-systems-in-2025/">Why Edge AI is crucial for retail and POS systems in 2025</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/vivien/" title="Posts by Vivien" rel="author">Vivien</a></span> | <span class="published">Feb 19, 2025</span> | <a href="https://objectbox.io/category/ai/" rel="category tag">AI</a>, <a href="https://objectbox.io/category/edge-ai/" rel="category tag">Edge AI</a>, <a href="https://objectbox.io/category/edge-computing/" rel="category tag">Edge Computing</a>, <a href="https://objectbox.io/category/edge-database/" rel="category tag">Edge Database</a>, <a href="https://objectbox.io/category/iot/" rel="category tag">IoT</a>, <a href="https://objectbox.io/category/mobile-database/" rel="category tag">Mobile Database</a>, <a href="https://objectbox.io/category/vector-database/" rel="category tag">vector database</a></p> <p><a href="https://www2.deloitte.com/us/en/insights/industry/retail-distribution/retail-distribution-industry-outlook.html">In recent years, the retail industry’s growth has been modest, with annual rates ranging from 1.5% to 3.5% depending on the sector</a>. Competition and rising consumer expectations for seamless omnichannel experiences have squeezed profit margins. With AI advancing so rapidly, there’s a great opportunity to embrace innovative solutions that boost efficiency and help create new revenue streams. Accordingly, <a href="https://business.comcast.com/community/docs/default-source/default-document-library/us51558524.pdf?sfvrsn=7fbf4754_1">IDC (2025) expects that by 2026, 90% of retail tools will embed AI algorithms</a>. Furthermore,<a href="https://business.comcast.com/community/docs/default-source/default-document-library/us51558524.pdf?sfvrsn=7fbf4754_1"> by 2027, over 45% of major retailers will apply Edge AI for faster decision-making and store-specific assortment planning, selection, allocation, and replenishment</a>. Let’s have a closer look at how retailers can leverage Edge AI no matter their size and budgets.</p> <h2 class="wp-block-heading"><strong>Defining Edge AI in Retail Contexts</strong></h2> <p><a href="https://objectbox.io/empowering-edge-ai-the-critical-role-of-databases/">Edge AI</a> refers to decentralized artificial intelligence systems that process data locally on in-store devices, e.g. POS terminals, smart shelves, Raspberry Pis, mobile phones, or cameras, rather than relying on distant cloud servers. This architecture works independently from distant cloud servers or internet connectivity, and therefore offline with minimized latency. Both, offline-capability and speed, are critical for applications like fraud detection and checkout automation. Accordingly, <a href="https://blogs.idc.com/2024/07/08/retail-reinvention-in-the-ai-era/">IDC emphasizes that 45% of retailers now prioritize &#8220;near-the-network&#8221; edge deployments</a>. There, AI models run locally on in-store servers or IoT devices, balancing cost and performance.</p> <h2 class="wp-block-heading"><strong>Key Components of Edge AI Systems</strong></h2> <p>For Edge AI to deliver real-time, offline-capable intelligence, its architecture must integrate <strong>on-device databases</strong>, <strong>local processing</strong>, and <strong>efficient data synchronization</strong>. These three pillars ensure seamless AI-powered retail operations without dependence on the cloud, minimizing latency, costs, and privacy concerns.</p> <figure class="wp-block-image size-large"><img decoding="async" width="1024" height="551" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2025/02/Retail-EdgeAI-POS-Setup-1024x551.png" alt="Retail-EdgeAI-POS-Setup" class="lazy lazy-hidden wp-image-261416"/><noscript><img decoding="async" width="1024" height="551" src="https://objectbox.io/wordpress/wp-content/uploads/2025/02/Retail-EdgeAI-POS-Setup-1024x551.png" alt="Retail-EdgeAI-POS-Setup" class="wp-image-261416"/></noscript><figcaption class="wp-element-caption"><br>Edge AI system architecture in retail, integrating local processing, real-time data sync, and various applications like POS or signage</figcaption></figure> <h4 class="wp-block-heading"><strong>1. Local Data Collection, <a href="https://objectbox.io/what-is-data-synchronization-how-to-keep-data-in-sync/">Sync</a>, and Storage</strong></h4> <p>Retail generates vast real-time data from <strong>IoT sensors, POS transactions, smart cameras, and RFID tags</strong>. To ensure instant processing and uninterrupted availability you need:</p> <ul class="wp-block-list"> <li><strong>On-device data storage</strong>: All kinds of devices from IoT sensors to cameras capture data. Depending on the device capabilities, with small on-device databases, data can be stored and used directly on the devices.</li> <li><strong>Local central server</strong>: A <strong>centralized on-premise device (e.g. a PC or Raspberry Pi, or more capable hw)</strong> ensures operations continue even if individual devices are resource-limited or offline.</li> <li><strong><a href="https://medium.com/@vivien_44789/a-developers-guide-to-bi-directional-data-sync-for-mobile-and-iot-apps-8254d8ff70dd">Bi-directional on-premise data sync</a></strong>: Local syncing between devices and with a central on-site server ensures better decisions and fail-safe operations. It keeps all devices up-to-date without internet dependence.</li> </ul> <h4 class="wp-block-heading"><strong>2. Local Data Processing &amp; Real-Time AI Decision-Making</strong></h4> <p>Processing data <strong>where it is generated</strong> is critical for <strong>speed, privacy, and resilience</strong>:</p> <ul class="wp-block-list"> <li><strong>On-device AI models</strong>: Small, quantized AI models (<a href="https://objectbox.io/top-small-language-models-slms-and-their-power-with-local-vector-databases/">SLMs</a>) like Microsoft’s Phi-3-mini (3.8B parameters, &lt;2GB memory footprint) can run directly on many devices (e.g. tablets, and POS systems), enabling real-time fraud detection, checkout automation, and personalized recommendations.</li> <li><strong>Local on-premise AI models</strong>: Larger SLMs or LLMs run on the more capable in-store hardware for security, demand forecasting, or store optimization. </li> <li><strong>On-device &amp; on-premise vector databases</strong>: AI models leverage <a href="https://objectbox.io/vector-database-for-ondevice-ai/">on-device vector databases</a> to structure and index data for real-time AI-driven insights (e.g., fraud detection, smart inventory management), fast similarity searches, and real-time decision-making.</li> </ul> <h4 class="wp-block-heading"><strong>3. Hybrid Data Sync: <a href="https://objectbox.io/data-sync-alternatives-offline-vs-online-solutions/">Local First, Selective Cloud Sync</a></strong></h4> <ul class="wp-block-list"> <li><strong>Selective Cloud Sync</strong>: Bi-directional cloud data sync extends the on-premise data sync. Select data, such as aggregated insights (e.g., sales trends, shrinkage patterns), payment processing, and select learnings are synced with the cloud to enable Enterprise-wide analytics &amp; compliance, Remote monitoring &amp; additional backup, and Optimized centralized decision-making.</li> <li><strong>Cloud Database &amp; Backend Infrastructure</strong>: A cloud-based database acts as the global repository. It integrates data from multiple locations to store aggregated insights &amp; long-term trends for AI model refinement and enterprise reporting, facilitating cross-location comparisons. </li> <li><strong>Centralized cloud AI model</strong>: A centralized cloud AI model is optional for larger setups. It can be used to continuously learn from local insights, refining AI recommendations and operational efficiencies across all connected stores.</li> </ul> <h2 class="wp-block-heading">Use Cases of Edge AI for Retailers</h2> <p>Edge AI is unlocking new efficiencies for retailers by enabling real-time, offline-capable intelligence across customer engagement, marketing, in-store operations, and supply chains.</p> <figure class="wp-block-image size-large"><img decoding="async" width="1024" height="687" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2025/02/image-1024x687.png" alt="" class="lazy lazy-hidden wp-image-261405"/><noscript><img decoding="async" width="1024" height="687" src="https://objectbox.io/wordpress/wp-content/uploads/2025/02/image-1024x687.png" alt="" class="wp-image-261405"/></noscript><figcaption class="wp-element-caption">Key applications of Edge AI in retail, driving personalization, operational efficiency, and smarter decision-making.</figcaption></figure> <h3 class="wp-block-heading">Enhancing Customer Experiences in Retail Stores with Edge AI &#8211; Examples</h3> <p>Edge AI transforms the shopping experience, enabling retailers to offer more streamlined and more personalized services based on real-time data, thereby boosting customer satisfaction and sales. Key benefits include:</p> <ul class="wp-block-list"> <li><strong>Realtime Product Recommendations</strong>: Using cognitive neural networks, retailers can respond instantly to a customer’s actions, such as browsing and purchasing, to recommend products that align with their preferences. An Accenture study found that <a href="https://www.accenture.com/us-en/insights/retail/reinventing-future-retail">75% of consumers wish they could identify options that meet their needs more quickly and easily.</a></li> <li><strong>In-store experience</strong>:<strong> </strong>AI tracks customer movement and analyses purchase patterns, optimizing store layout and product placement. <a href="https://www2.deloitte.com/content/dam/Deloitte/in/Documents/consumer-business/in-cb-future-of-retail-profitable-growth-through-technology-and-AI-noexp.pdf">A large global furniture retailer’s in-store analytics led to a more than 10 percent rise in in-store traffic and high sales growth within a month.</a></li> <li><strong>Contactless Checkout</strong>: AI-driven self-checkouts allow customers to select products captured by cameras. Thus, bypassing the need for scanning product codes, which streamlines both standard and automated checkout processes. For example, <a href="https://www.aboutamazon.com/news/retail/amazon-just-walk-out-improves-accuracy">Amazon&#8217;s Just Walk Out</a> technology allows customers to pick up items and leave the store without traditional checkout, enhancing convenience and reducing wait times. </li> <li><strong>Real-Time Inventory Tracking</strong>:<strong> </strong><a href="https://www2.deloitte.com/content/dam/Deloitte/in/Documents/consumer-business/in-cb-future-of-retail-profitable-growth-through-technology-and-AI-noexp.pdf">Smart shelves monitor inventory levels in real time, triggering automatic reorders and preventing stockouts</a>. For example, a <a href="https://www.researchgate.net/publication/357352415_A_Smart_Shelf_Design_for_Retail_Store_Real_Time_Inventory_Management_Automation">study</a> proposed a smart shelf design capable of detecting the location and weight of items, ensuring accurate inventory counts and timely replenishment.</li> </ul> <h3 class="wp-block-heading">Retail operational excellence and cost optimization with Edge AI &#8211; Examples</h3> <p>Edge AI also significantly enhances operational efficiency, especially operational in-store efficiency, reduces losses, and helps lower costs (while at the same time <a href="https://objectbox.io/why-do-we-need-edge-computing-for-a-sustainable-future/">enhancing sustainability</a>):</p> <ul class="wp-block-list"> <li><strong>Supply Chain Management</strong>: Edge AI enhances supply chain operations by decentralizing data processing, enabling real-time analysis and faster decision-making. This leads to optimized inventory levels, more accurate demand forecasting, and reduced operational costs. For example, Walmart’s pioneering use of GenAI in supply chain management has driven a <a href="https://www.thestack.technology/walmart-reveals-100x-productivity-boost-of-generative-ai/">100x productivity boost, enabling more accurate demand forecasting, optimized inventory, and reduced waste. As reported in its Q2 2025 earnings call, these improvements trimmed operational costs by 20%</a>.</li> <li><strong>Loss Prevention</strong>: Retail shrink, exacerbated by inflation-driven shoplifting and self-checkout vulnerabilities, <a href="https://solink.com/resources/organized-retail-theft/?_gl=1*q8ne50*_up*MQ..*_ga*MjEwNTI0MzE4Mi4xNzM5ODA2MDgz*_ga_M8Q41G0CVP*MTczOTgwNjA4Mi4xLjAuMTczOTgwNjA4Mi4wLjAuMA..">costs the industry over $100 billion annually</a>. Advanced sensors and intelligent cameras combined with Edge AI help detect early signs of theft or fraud. Thus, allowing security measures to intervene promptly, and independently from an internet connection. </li> <li><strong>Waste Reduction</strong>:<strong> </strong>Grocery chains like Tesco use Edge AI to analyze the expiry dates of goods and ripeness of produce, dynamically pricing items nearing expiration. <a href="https://nocamels.com/2022/09/supermarkets-use-ai-to-cut-prices/">This approach can reduce food waste by up to 40%</a>. Food waste is a huge social, economic, and environmental challenge. <a href="https://mediatum.ub.tum.de/doc/1735419/document.pdf">If it was considered as a country, would be the world’s third greatest emitter of greenhouse gases</a>. Edge AI in retail could play a pivotal role in food waste avoidance.</li> <li><strong>Energy Savings:</strong> Smart sensors and Edge AI can be used to optimize the use of energy for lighting, heating, ventilation, water use, etc. For example, 45 Broadway, a 32-story office building in Manhattan,<a href="https://time.com/7201501/ai-buildings-energy-efficiency"> implemented an AI system that analyzes real-time data</a>. That included temperature, humidity, sun angle, and occupancy patterns &#8211; to proactively adjust HVAC settings. This integration led to a 15.8% reduction in HVAC-related energy consumption. Plus, saving over $42,000 annually and reducing carbon emissions by 37 metric tons in just 11 months.</li> </ul> <h2 class="wp-block-heading">Conclusion: Edge AI as Retail’s Strategic Imperative</h2> <p><a href="https://www.forbes.com/sites/garydrenik/2024/08/06/why-edge-ai-driven-personalization-is-the-key-to-customer-loyalty/">Edge AI is a true game-changer for retailers in 2025</a>. Faced with rising costs and fierce competition, stores need faster insights and better local experiences to stand out. Therefore, according to IDC, <a href="https://business.comcast.com/community/docs/default-source/default-document-library/us51558524.pdf?sfvrsn=7fbf4754_1">90% of retail tools will embed AI by 2026</a>, with <a href="https://business.comcast.com/community/docs/default-source/default-document-library/us51558524.pdf?sfvrsn=7fbf4754_1">edge solutions expected to help 45% of retailers optimize local assortments</a>. Meanwhile, <a href="https://www.mckinsey.com/featured-insights/artificial-intelligence/global-ai-survey-ai-proves-its-worth-but-few-scale-impact">according to McKinsey</a>, 44% of retailers that have implemented AI already reduced operational costs, while the majority have seen increases in revenue.&nbsp;</p> <p>Yet, Edge AI <strong>isn’t just about running AI models locally</strong>. I<strong>t’s about creating an autonomous, resilient system</strong> where <strong>on-device vector databases, local processing, and hybrid data sync</strong> work together. This combination enables real-time retail intelligence while keeping <strong>costs low, data private, and operations uninterrupted</strong>. To stay ahead, businesses should invest in edge-ready infrastructure with <a href="http://objectbox.io">on-device vector databases and data sync that works on-premise at their core</a>. <a href="https://www.accenture.com/us-en/insights/retail/unleashing-power-generative-ai">Those who hesitate risk losing ground to nimble competitors</a> who have already tapped into real-time, in-store intelligence.</p> <p><a href="https://objectbox.io/mongodb/">Hybrid systems</a>, combining lightning-fast offline-first edge response times with the power of the cloud, are becoming the norm. <a href="https://business.comcast.com/community/docs/default-source/default-document-library/us51558524.pdf?sfvrsn=7fbf4754_1">IDC projects that 78% of retailers will adopt these setups by 2026, saving an average of $3.6 million per store annually</a>. In an inflation-driven market, Edge AI isn’t just a perk &#8211; it’s a critical strategy for thriving in the future of retail. By leveraging <strong>Edge AI-powered on-device databases</strong>, retailers gain the <strong>speed, efficiency, and reliability</strong> needed to stay competitive in an AI-driven retail landscape.</p> </article> <article id="post-261152" class="et_pb_post post-261152 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-edge-ai category-edge-database category-mobile-database category-vector-database tag-ai tag-mobile-database tag-vector-database"> <a class="entry-featured-image-url" href="https://objectbox.io/top-small-language-models-slms-and-their-power-with-local-vector-databases/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2025/01/TopSLM-On-device-VectorDatabases-1080x675.jpg" alt="Top Small Language Models (SLMs) and how local vector databases add power" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/top-small-language-models-slms-and-their-power-with-local-vector-databases/">Top Small Language Models (SLMs) and how local vector databases add power</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/vivien/" title="Posts by Vivien" rel="author">Vivien</a></span> | <span class="published">Jan 20, 2025</span> | <a href="https://objectbox.io/category/ai/" rel="category tag">AI</a>, <a href="https://objectbox.io/category/edge-ai/" rel="category tag">Edge AI</a>, <a href="https://objectbox.io/category/edge-database/" rel="category tag">Edge Database</a>, <a href="https://objectbox.io/category/mobile-database/" rel="category tag">Mobile Database</a>, <a href="https://objectbox.io/category/vector-database/" rel="category tag">vector database</a></p> <p>Can Small Language Models (SLMs) really do more with less? In this article, we discuss the unique strengths of SLMs, learn about the top SLMs, local vector databases, and how SLMs + local vector databases are shaping the future of AI,<strong> </strong>prioritizing privacy, immediacy, and sustainability. </p> <h2 class="wp-block-heading">The Evolution of Language Models</h2> <p>In the world of artificial intelligence (AI), bigger models were once seen as better. <strong>Large Language Models (LLMs)</strong> amazed everyone with their ability to write, translate, and analyze complex texts. But they come with <a href="https://www.forbes.com/sites/craigsmith/2023/09/08/what-large-models-cost-you--there-is-no-free-ai-lunch/">big problems too</a>: high costs, slow processing, and huge energy demands. For example, <a href="https://deepnewz.com/economics/openai-s-o3-model-costs-up-to-6000-per-task-totaling-1-7-million-arc-benchmark-5-bde83bc7?utm_source=chatgpt.com">OpenAI&#8217;s latest GPT-o3 model can cost up to $6,000 per task</a>. The annual energy consumption of <a href="https://medium.com/@InsightfulEnginner/is-the-energy-consumption-of-large-language-model-is-over-hyped-89465f4ac15f#:~:text=Annual%20Energy%20Consumption%20of%20GPT%2D3.5%3A%20The%20model%20uses,44%2C200%2C000%20kWh%20in%20a%20year.&amp;text=Average%20Household%20Consumption%3A%20Each%20household%20uses%2010%2C649%20kWh%20in%20a%20year.">GPT-3.5 is equivalent to powering more than 4000 US households</a> for a year. That’s a huge price to pay, both financially and environmentally.</p> <p>Now, <a href="https://objectbox.io/the-rise-of-small-language-models/"><strong>Small Language Models (SLMs)</strong> are stepping into the spotlight</a>, enabling sophisticated AI to run directly on devices (<a href="https://objectbox.io/local-ai-what-it-is-and-why-we-need-it/"><strong>local AI</strong></a>) like your phone, laptop, or even a smart home assistant. These models not only reduce costs and energy consumption but also bring the power of AI closer to the user, ensuring privacy and real-time performance.</p> <h2 class="wp-block-heading">What Are Small Language Models (SLMs)?</h2> <p>LLMs are designed to understand and generate human language. <strong>Small Language Models (SLMs)</strong> are compact versions of LLMs. So, the key difference between SLMs and LLMs is their size. While LLMs like GPT-4 are designed with hundreds of billions of parameters, SLMs use only a fraction of that. There is no strict definition of SLM vs. LLM yet. At this moment, SLM sizes can be as small as single-digit million parameters and go up to several billion parameters. <a href="https://arxiv.org/html/2501.05465v1">Some authors suggest 8B parameters as the limit</a> for SLMs. However, in our view that opens up the question if we need a definition for Tiny Language Models (TLMs)?</p> <h2 class="wp-block-heading">Advantages and disadvantages of SLM</h2> <p>According to <a href="https://www2.deloitte.com/content/dam/insights/articles/us187540_tech-trends-2025/DI_Tech-trends-2025.pdf">Deloitte&#8217;s latest tech trends report</a>, SLMs are gaining increasing importance in the AI landscape due to their cost-effectiveness, efficiency, and privacy advantages. Small Language Models (SLMs) bring a range of benefits, particularly for local AI applications, but they also come with trade-offs.</p> <h3 class="wp-block-heading">Benefits of SLMs</h3> <ul class="wp-block-list"> <li><strong>Privacy:</strong> By running on-device, SLMs keep sensitive information local, eliminating the need to send data to the cloud.</li> <li><strong>Offline Capabilities:</strong> Local AI powered by SLMs functions seamlessly without internet connectivity.</li> <li><strong>Speed:</strong> SLMs require less computational power, enabling faster inference and smoother performance.</li> <li><strong>Sustainability:</strong> With lower energy demands for both training and operation, SLMs are more environmentally friendly.</li> <li><strong>Accessibility:</strong> Affordable training and deployment, combined with minimal hardware requirements, make SLMs accessible to users and businesses of all sizes.</li> </ul> <h3 class="wp-block-heading">Limitations of SLMs</h3> <p>The main disadvantage is the flexibility and quality of SLM responses: SLMs typically cannot tackle the same broad range of tasks as LLMs in the same quality. However, <a href="https://arxiv.org/html/2501.05465v1">in certain areas, they already match their&nbsp;larger counterparts</a>. For example, <a href="https://artificialanalysis.ai/downloads/ai-review/2024/Artificial-Analysis-AI-Review-2024-Highlights.pdf">Artificial Analysis AI Review 2024</a> highlights that GPT-4o-mini (July 2024) has a similar Quality Index to GPT-4 (March 2023), while being 100x cheaper in price.</p> <figure class="wp-block-image size-large"><img decoding="async" width="1024" height="733" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2025/01/2025_20_01_LLM_vs_SLM_cost-1024x733.png" alt="Small Language Models vs LLMs" class="lazy lazy-hidden wp-image-261155"/><noscript><img decoding="async" width="1024" height="733" src="https://objectbox.io/wordpress/wp-content/uploads/2025/01/2025_20_01_LLM_vs_SLM_cost-1024x733.png" alt="Small Language Models vs LLMs" class="wp-image-261155"/></noscript><figcaption class="wp-element-caption">Small Language Models vs LLMs</figcaption></figure> <p>A <a href="https://arxiv.org/pdf/2502.11569v1">recent study comparing various SLMs</a> highlights the growing competitiveness of these models, demonstrating that in specific tasks, SLMs can achieve performance levels comparable to much larger models.</p> <h3 class="wp-block-heading">Overcoming limitations of SLMs</h3> <p>A combination of SLMs with <strong><a href="https://objectbox.io/vector-databases-for-edge-ai/"><strong>local vector databases</strong></a></strong> is a game-changer. With a local vector database, the variety of tasks and the quality of answers cannot only be enhanced but also for the areas that are actually relevant to the use case you are solving. E.g. you can add internal company knowledge, specific product manuals, or personal files to the SLM. In short, you can provide the SLM with context and additional knowledge that has not been part of its training via a local vector database. In this combination, an SLM can already today be as powerful as an LLM for your specific case and context (your tasks, your apps, your business). We’ll dive into this a bit more later.</p> <p>In the following, we’ll have a look at the current landscape of SLMs &#8211; including the top SLMs &#8211; in a handy comparison matrix.</p> <h2 class="wp-block-heading">Top SLM Models</h2> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type="text/css" rel="stylesheet" href="resources/sheet.css" > <style type="text/css">.ritz .waffle a { color: inherit; }.ritz .waffle .s17{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s1{border-bottom:2px SOLID #000000;border-right:2px SOLID #000000;background-color:#17a6a6;text-align:center;font-weight:bold;color:#ffffff;font-family:docs-Roboto,Arial;font-size:12pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s22{border-bottom:2px SOLID #000000;border-right:2px SOLID #000000;background-color:#ffffff;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s24{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s6{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;font-weight:bold;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s8{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#fcfcf9;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s3{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s9{border-bottom:1px SOLID #000000;border-right:2px SOLID #000000;background-color:#ffffff;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s26{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;color:#000000;font-family:Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s21{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s7{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s11{border-bottom:1px SOLID #000000;border-right:2px SOLID #000000;background-color:#ecffec;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s14{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#fcfcf9;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#13343b;font-family:Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s18{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;font-weight:bold;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s27{border-bottom:2px SOLID #000000;border-right:2px SOLID #000000;background-color:#ecffec;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s15{border-bottom:1px SOLID #000000;border-right:2px SOLID #000000;background-color:#fcfcf9;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s16{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;font-weight:bold;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s20{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s31{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s2{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;font-weight:bold;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s5{border-bottom:1px SOLID #000000;border-right:2px SOLID #000000;background-color:#ecffec;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s30{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s10{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s12{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#fcfcf9;text-align:center;font-weight:bold;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s28{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s19{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#fcfcf9;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s29{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ffffff;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s13{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#fcfcf9;text-align:center;color:#13343b;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s25{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s23{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;font-weight:bold;color:#000000;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s0{border-bottom:2px SOLID #000000;border-right:1px SOLID #000000;background-color:#17a6a6;text-align:center;font-weight:bold;color:#ffffff;font-family:docs-Roboto,Arial;font-size:12pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}.ritz .waffle .s4{border-bottom:1px SOLID #000000;border-right:1px SOLID #000000;background-color:#ecffec;text-align:center;text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;font-family:docs-Roboto,Arial;font-size:10pt;vertical-align:middle;white-space:normal;overflow:hidden;word-wrap:break-word;direction:ltr;padding:2px 3px 2px 3px;}</style><div class="ritz grid-container" dir="ltr"><table class="waffle" cellspacing="0" cellpadding="0"><thead><tr><th class="row-header freezebar-origin-ltr"></th><th id="1273255873C0" style="width:140px;" class="column-headers-background"/th><th id="1273255873C1" style="width:130px;" class="column-headers-background"/th><th id="1273255873C2" style="width:158px;" class="column-headers-background"/th><th id="1273255873C3" style="width:157px;" class="column-headers-background"/th><th id="1273255873C4" style="width:158px;" class="column-headers-background"/th><th id="1273255873C5" style="width:306px;" class="column-headers-background"/th></tr></thead><tbody><tr style="height: 20px"><th id="1273255873R0" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s0" dir="ltr">Model Name</td><td class="s0" dir="ltr">Size (Parameters)</td><td class="s0" dir="ltr">Company/<br> Team</td><td class="s0" dir="ltr">License</td><td class="s0" dir="ltr">Source</td><td class="s1" dir="ltr">Quality claims</td></tr><tr style="height: 20px"><th id="1273255873R1" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s2" dir="ltr">DistilBERT</td><td class="s3" dir="ltr">66 M</td><td class="s3" dir="ltr">Hugging Face</td><td class="s3" dir="ltr">Apache 2</td><td class="s4" dir="ltr"><a target="_blank" href="https://huggingface.co/docs/transformers/en/model_doc/distilbert" rel="noopener">Hugging Face</a></td><td class="s5" dir="ltr">&quot;40% less parameters than google-bert/bert-base-uncased, runs 60% faster while preserving over 95% of BERT’s performances&quot;</td></tr><tr style="height: 20px"><th id="1273255873R2" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s6" dir="ltr">MobileLLM</td><td class="s7" dir="ltr">1.5 B</td><td class="s7" dir="ltr">Meta</td><td class="s7" dir="ltr">Pre-training code for MobileLLM open sourced (Attribution-NonCommercial 4.0 International)</td><td class="s8" dir="ltr"><a target="_blank" href="https://arxiv.org/abs/2402.14905" rel="noopener">Arxiv.org</a></td><td class="s9" dir="ltr">&quot;2.7%/4.3% accuracy boost over preceding<br> 125M/350M state-of-the-art models&quot;<br> &quot;close correctness to LLaMA-v2 7B in API<br> calling tasks&quot;</td></tr><tr style="height: 20px"><th id="1273255873R3" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s2" dir="ltr">TinyGiant (xLAM-1B)</td><td class="s3" dir="ltr">1.3 B</td><td class="s3" dir="ltr">Salesforce</td><td class="s3" dir="ltr">Training set open sourced (Creative Commons Public Licenses); trained model will be open sourced</td><td class="s10" dir="ltr"><span style="text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;"><a target="_blank" href="https://x.com/Benioff/status/1808365628551844186" rel="noopener">Announcement<br></a></span><br><span style="text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;"><a target="_blank" href="https://arxiv.org/pdf/2406.18518" rel="noopener">Related Research on Arxiv.org</a></span></td><td class="s11" dir="ltr">&quot;outperforming models 7x its size, including GPT-3.5 &amp; Claude&quot;</td></tr><tr style="height: 20px"><th id="1273255873R4" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s12" dir="ltr">Gemma 2B</td><td class="s13" dir="ltr">2 B</td><td class="s13" dir="ltr">Google</td><td class="s13" dir="ltr">Gemma license (not open source per definition, but seemingly pretty much unrestricted use), training data not shared</td><td class="s8" dir="ltr"><a target="_blank" href="https://huggingface.co/google/gemma-2b" rel="noopener">Huggingface</a></td><td class="s9" dir="ltr">&quot;The Gemma performs well on the Open LLM leaderboard. But if we compare Gemma-2b (2.51 B) with PHI-2 (2.7 B) on the same benchmarks, PHI-2 easily beats Gemma-2b.&quot; <span style="text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;"><a target="_blank"</td></tr><tr style="height: 20px"><th id="1273255873R5" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s2" dir="ltr">Phi-3</td><td class="s3" dir="ltr">3.8 B, 7 B</td><td class="s3" dir="ltr">Microsoft</td><td class="s3" dir="ltr">MIT License</td><td class="s10" dir="ltr"><a target="_blank" href="https://news.microsoft.com/source/features/ai/the-phi-3-small-language-models-with-big-potential/" rel="noopener">Microsoft News</a></td><td class="s11" dir="ltr">iPhone 14: Phi-3-mini processing speed of 12 tokens per second.<br>From the H2O Danube3 benchmarks you can see that the Phi-3 model shows top performance compared to similar size models, oftentimes beating the Danube3</td></tr><tr style="height: 20px"><th id="1273255873R6" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s12" dir="ltr">OpenELM</td><td class="s13" dir="ltr">270M, 450M, 1.1B, 3B</td><td class="s13" dir="ltr">Apple</td><td class="s13" dir="ltr">Apple License, but pretty much reads like you can do as much with it as a permissive oss license (of course not use their logo)</td><td class="s14" dir="ltr"><span style="text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#13343b;"><a target="_blank" href="https://huggingface.co/apple/OpenELM" rel="noopener">Huggingface<br><br></a></span><span style="text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;"><a target="_blank" href="https://github.com/apple/corenet" rel="noopener">GitHub</a></span></td><td class="s15" dir="ltr">OpenELM 1.1 B shows 1.28% (Zero Shot Tasks), 2.36% (OpenLLM Leaderboard), and 1.72% (LLM360) higher accuracy compared to OLMo 1.2 B, while using 2× less pretraining data</td></tr><tr style="height: 20px"><th id="1273255873R7" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s16" dir="ltr">H2O Danube3</td><td class="s17" dir="ltr">3-500M, 3-4B</td><td class="s4" dir="ltr"><a target="_blank" href="http://h2o.ai/" rel="noopener">H2O.ai</a></td><td class="s17" dir="ltr">Apache 2.0</td><td class="s10" dir="ltr"><a target="_blank" href="https://arxiv.org/abs/2407.09276" rel="noopener">Arvix.org<br><br></a><a target="_blank" href="https://huggingface.co/collections/h2oai/h2o-danube3-6687a993641452457854c609" rel="noopener">Huggingface</a></td><td class="s5" dir="ltr">&quot;competitive performance compared to popular models of similar size across a wide variety of benchmarks including academic benchmarks, chat benchmarks, as well as fine-tuning benchmarks&quot;</td></tr><tr style="height: 20px"><th id="1273255873R8" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s18" dir="ltr">GPT-4o mini</td><td class="s19" dir="ltr">~8B (rumoured)</td><td class="s20" dir="ltr">OpenAI</td><td class="s20" dir="ltr">Proprietary</td><td class="s21" dir="ltr"><a target="_blank" href="https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/" rel="noopener">Announcement</a></td><td class="s22" dir="ltr">GPT-4o mini scores 82% on MMLU and currently outperforms GPT-4 on chat preferences in LMSYS leaderboard⁠. GPT-4o mini surpasses GPT-3.5 Turbo and other small models on academic benchmarks across both textual intelligence and multimodal reasoning, and supports the same range of languages as GPT-4o</td></tr><tr style="height: 20px"><th id="1273255873R9" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s23" dir="ltr">Gemini 1.5 Flash 8B</td><td class="s24" dir="ltr">8B</td><td class="s25" dir="ltr">Google</td><td class="s25" dir="ltr">Proprietary</td><td class="s26" dir="ltr"><span style="text-decoration:underline;text-decoration-skip-ink:none;-webkit-text-decoration-skip:none;color:#1155cc;"><a target="_blank" href="https://developers.googleblog.com/en/gemini-15-flash-8b-is-now-generally-available-for-use/" rel="noopener">Announcement</a></span> on Google for Developers</td><td class="s27" dir="ltr">Smaller and faster variant of 1.5 Flash features half the price, twice the rate limits, and lower latency on small prompts compared to its forerunner. Nearly matches 1.5 Flash on many key benchmarks. </td></tr><tr style="height: 20px"><th id="1273255873R10" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s18" dir="ltr">Llama 3.1 8B</td><td class="s19" dir="ltr">8B</td><td class="s20" dir="ltr">Meta</td><td class="s20" dir="ltr">Llama 3.1 Community</td><td class="s21" dir="ltr"><a target="_blank" href="https://huggingface.co/meta-llama/Llama-3.1-8B" rel="noopener">Huggingface<br><br></a><a target="_blank" href="https://artificialanalysis.ai/models/llama-3-1-instruct-8b" rel="noopener">Artificial Analysis</a></td><td class="s22" dir="ltr">MMLU score of 69.4% and a Quality Index across evaluations of 53. Faster compared to average, with a output speed of 157.7 tokens per second. Low latency (0.37s TTFT), small context window (128k).</td></tr><tr style="height: 20px"><th id="1273255873R11" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s23" dir="ltr">Mistral-7B</td><td class="s24" dir="ltr">7B</td><td class="s25" dir="ltr">Mistral</td><td class="s25" dir="ltr">Apache 2.0</td><td class="s28" dir="ltr"><a target="_blank" href="https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1" rel="noopener">Huggingface<br></a><br><a target="_blank" href="https://artificialanalysis.ai/models/mistral-7b-instruct" rel="noopener">Artificial Analysis</a></td><td class="s27" dir="ltr">MMLU score 60.1%. Mistral 7B significantly outperforms Llama 2 13B on all metrics, and is on par with Llama 34B (since Llama 2 34B was not released, we report results on Llama 34B). It is also vastly superior in code and reasoning benchmarks. Was the best model for its size in autumn 2023.</td></tr><tr style="height: 20px"><th id="1273255873R12" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s18" dir="ltr">Ministral</td><td class="s19" dir="ltr">3B, 8B</td><td class="s20" dir="ltr">Mistral</td><td class="s29" dir="ltr"><a target="_blank" href="https://mistral.ai/licenses/MRL-0.1.md" rel="noopener">Mistral Research License</a></td><td class="s21" dir="ltr"><a target="_blank" href="https://huggingface.co/mistralai/Ministral-8B-Instruct-2410" rel="noopener">Huggingface<br></a><br><a target="_blank" href="https://artificialanalysis.ai/models/ministral-3b" rel="noopener">Artificial Analysis</a></td><td class="s22" dir="ltr">Claimed (by Mistral) to be the world&#39;s best Edge models. <br><br><span style="color:#000000;">Ministral 3B has MMLU score of 58% and Quality index across evaluations of 51. Ministral 8B has MMLU score of 59% and Quality index across evaluations of 53.</span></td></tr><tr style="height: 20px"><th id="1273255873R13" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s23" dir="ltr">Granite</td><td class="s24" dir="ltr">2B, 8B</td><td class="s25" dir="ltr">IBM</td><td class="s25" dir="ltr">Apache 2.0</td><td class="s28" dir="ltr"><a target="_blank" href="https://huggingface.co/ibm-granite/granite-guardian-3.0-2b" rel="noopener">Huggingface<br></a><br><a target="_blank" href="https://www.ibm.com/new/ibm-granite-3-0-open-state-of-the-art-enterprise-models" rel="noopener">IBM Announcement</a></td><td class="s27" dir="ltr">Granite 3.0 8B Instruct matches leading similarly-sized open models on academic benchmarks while outperforming those peers on benchmarks for enterprise tasks and safety.</td></tr><tr style="height: 20px"><th id="1273255873R14" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s18" dir="ltr">Qwen 2.5</td><td class="s30" dir="ltr">0.5B, 1.5B, 3B, 7B</td><td class="s20" dir="ltr">Alibaba Cloud</td><td class="s20" dir="ltr">Apache 2.0 (0.5B, 1.5B, 7B)<br> Qwen Research (3B)</td><td class="s21" dir="ltr"><a target="_blank" href="https://huggingface.co/collections/Qwen/qwen25-66e81a666513e518adb90d9e" rel="noopener">Huggingface<br><br></a><a target="_blank" href="https://qwen2.org/qwen2-5/" rel="noopener">Qwen Announcement</a></td><td class="s22" dir="ltr">Models specializing in coding and solving Math problems. For 7B model, MMLU score 74.2%, context window (128k). <br></td></tr><tr style="height: 20px"><th id="1273255873R15" style="height: 20px;" class="row-headers-background"><div class="row-header-wrapper" style="line-height: 20px"/div></th><td class="s23" dir="ltr">Phi-4</td><td class="s25" dir="ltr">14 B</td><td class="s25" dir="ltr">Microsoft</td><td class="s25" dir="ltr">MIT License</td><td class="s31" dir="ltr"><a target="_blank" href="https://huggingface.co/microsoft/phi-4" rel="noopener">Huggingface<br><br></a><a target="_blank" href="https://artificialanalysis.ai/models/phi-4" rel="noopener">Artificial Analysis</a></td><td class="s27" dir="ltr"><span style="color:#000000;">Quality Index across evaluations of 77, MMLU 85%</span><span style="color:#000000;">, Supports a 16K token context window, ideal for long-text processing. Outperforms Phi3 and outperforms on many metrices or is comparable with Qwen 2.5 , and GPT-4o-mini</span></td></tr></tbody></table></div> <h2 class="wp-block-heading">SLM Use Cases &#8211; best choice for running local AI</h2> <p>SLMs are perfect for on-device or local AI applications. On-device / local AI is needed in scenarios that involve hardware constraints, demand real-time or guaranteed response rates, require offline functionality or need to comply with strict data privacy and security needs. Here are some examples:</p> <ul class="wp-block-list"> <li><strong>Mobile Applications</strong>: Chatbots or translation tools that work seamlessly on phones even when not connected to the internet.</li> <li><strong>IoT Devices</strong>: Voice assistants, smart appliances, and wearable tech running language models directly on the device.</li> <li><strong>Healthcare</strong>: Embedded in medical devices, SLMs allow patient data to be analyzed locally, preserving privacy while delivering real-time diagnostics.</li> <li><strong>Industrial Automation</strong>: SLMs process language on edge devices, increasing uptime and reducing latency in robotics and control systems.</li> </ul> <p>By processing data locally, SLMs not only enhance privacy but also ensure reliable performance in environments where connectivity may be limited.</p> <h2 class="wp-block-heading">On-device Vector Databases and SLMs: A Perfect Match</h2> <p>Imagine a digital assistant on your phone that goes beyond generic answers, leveraging your company’s (and/or your personal) data to deliver precise, context-aware responses &#8211; without sharing this private data with any cloud or AI provider. This becomes possible when Small Language Models are paired with <a href="https://objectbox.io/vector-databases-for-edge-ai/"><strong>local vector databases</strong></a>. Using a technique called <a href="https://objectbox.io/retrieval-augmented-generation-rag-with-vector-databases-expanding-ai-capabilities/">Retrieval-Augmented Generation (RAG)</a>, SLMs access the additional knowledge stored in the vector database, enabling them to provide personalized, up-to-date answers. Whether you’re troubleshooting a problem, exploring business insights, or staying informed on the latest developments, this combination ensures tailored and relevant responses.</p> <h2 class="wp-block-heading">Key Benefits of using a local tech stack with SLMs and a local vector database</h2> <ul class="wp-block-list"> <li><strong>Privacy</strong>. SLMs inherently provide privacy advantages by operating on-device, unlike larger models that rely on cloud infrastructure. To maintain this privacy advantage when integrating additional data, a local vector database is essential. ObjectBox is a leading example of a local database that ensures sensitive data remains local.&nbsp;</li> <li><strong>Personalization</strong>. Vector databases give you a way to enhance the capabilities of SLMs and adapt them to your needs. For instance, you can integrate internal company data or personal device information to offer highly contextualized outputs.</li> <li><strong>Quality. </strong>Using additional context-relevant knowledge reduces hallucinations and increases the quality of the responses.</li> <li><strong>Traceability. </strong>As long as you store your metadata alongside the vector embeddings, all the knowledge you use from the local vector database can give the sources.</li> <li><strong>Offline-capability. </strong>Deploying SLMs directly on edge devices removes the need for internet access, making them ideal for scenarios with limited or no connectivity.</li> <li><strong>Cost-Effectiveness</strong>. By retrieving and caching the most relevant data to enhance the response of the SLM, vector databases reduce the workload of the SLM, saving computational resources. This makes them ideal for edge devices, like smartphones, where power and computing resources are limited.</li> </ul> <h2 class="wp-block-heading">Use case: Combining SLMs and local Vector Databases in Robotics</h2> <p>Imagine a warehouse robot that organizes inventory, assists workers, and ensures smooth operations. By integrating SLMs with local vector databases, the robot can process natural language commands, retrieve relevant context, and adapt its actions in real time &#8211; all without relying on cloud-based systems.</p> <p>For example:</p> <ul class="wp-block-list"> <li>A worker says, <em>&#8220;Can you bring me the red toolbox from section B?&#8221;</em></li> <li>The SLM processes the request and consults the vector database, which stores information about the warehouse layout, inventory locations, and specific task history.</li> <li>Using this context, the robot identifies the correct toolbox, navigates to section B, and delivers it to the worker.</li> </ul> <h1 class="wp-block-heading">The future of AI is &#8211; literally &#8211; in our hands</h1> <p>AI is becoming more personal, efficient, and accessible, and Small Language Models are driving this transformation. By enabling sophisticated local AI, SLMs deliver privacy, speed, and adaptability in ways that larger models cannot. Combined with technologies like vector databases, they make it possible to provide affordable, tailored, real-time solutions without compromising data security. The future of AI is not just about doing more &#8211; it’s about doing more where it matters most: right in your hands.</p> <p><br><a href="https://objectbox.io/the-rise-of-small-language-models/">Learn about the rise and significance of Small Language Models in AI in this article.</a></p> </article> <article id="post-49882" class="et_pb_post post-49882 post type-post status-publish format-standard has-post-thumbnail hentry category-edge-computing category-insights category-iot category-sync tag-sustainable-tech"> <a class="entry-featured-image-url" href="https://objectbox.io/why-do-we-need-edge-computing-for-a-sustainable-future/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/EdgeComputingSustainable-1080x675.jpg" alt="Why do we need Edge Computing for a sustainable future?" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/why-do-we-need-edge-computing-for-a-sustainable-future/">Why do we need Edge Computing for a sustainable future?</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/vivien/" title="Posts by Vivien" rel="author">Vivien</a></span> | <span class="published">Nov 30, 2024</span> | <a href="https://objectbox.io/category/edge-computing/" rel="category tag">Edge Computing</a>, <a href="https://objectbox.io/category/insights/" rel="category tag">Insights</a>, <a href="https://objectbox.io/category/iot/" rel="category tag">IoT</a>, <a href="https://objectbox.io/category/sync/" rel="category tag">Sync</a></p> <div class="et_pb_section et_pb_section_0 et_section_regular" > <div class="et_pb_row et_pb_row_0"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_0 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_0 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;"></span><span style="font-weight: 400;">Centralized data centers use a lot of energy and water, emit a lot of CO2, and generate a lot of electronic waste. In fact, cloud data centers are already responsible for around 300 Mt</span><span style="font-weight: 400;"> of CO2-eq greenhouse gas emissions [1]. And the energy consumption of data centers is increasing at an exponential rate [2]. </span></p> <p><span style="font-weight: 400;">This challenge is further compounded by the exploding demand for AI workloads. With AI adoption accelerating, the demand for data center capacity is <a href="https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/ai-power-expanding-data-center-capacity-to-meet-growing-demand">projected to grow</a> by over 20% annually, potentially reaching ~300 GW by 2030. Remarkably, 70% of this capacity will be dedicated to hosting AI workloads. <a href="https://www.datacenterknowledge.com/business/four-gartner-predictions-affecting-your-data-center">Gartner predicts</a> that without sustainable AI practices, AI alone could consume more energy than the human workforce by 2025, significantly undermining carbon-zero initiatives.</span></p> <p><span style="font-weight: 400;">While more data centers are switching to green energy [3], this approach is not nearly enough to solve the problem. A more sustainable approach is to reduce unnecessary cloud traffic, central computation, and storage as much as possible by shifting computation to the edge. In our experience, just reducing data overhead and unnecessary data traversals can easily cut 60-90% of data traffic and thus significantly impact the CO2 footprint of an application, as well as costs.</span></p> <p><span style="font-weight: 400;"></span></p> <p><span style="font-weight: 400;">Edge Computing stores and uses data on or near the device on which it was created. This reduces the amount of traffic sent to the cloud and, on a large scale, has a significant impact on energy consumption and carbon emissions.</span></p></div> </div><div class="et_pb_module et_pb_text et_pb_text_1 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h3><span style="font-weight: 400;">Why do Digitization projects need to think about sustainability now?</span></h3></div> </div><div class="et_pb_module et_pb_text et_pb_text_2 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Given the gravity of the climate crisis, every industry needs to assess its potential environmental impact and find ways to reduce its carbon footprint. The digital world, and its most valuable commodity, data, should not be any different. The digital transformation is ongoing and with it electronic devices and IT usage numbers are exploding. Thus, new apps must consider their carbon footprint throughout their lifecycle, especially resource use in operation and at scale [4]. </span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_1"> <div class="et_pb_column et_pb_column_1_2 et_pb_column_1 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Also, think about this: The share of global electricity used by data centers is already estimated to be around 1-1.5% [1] and data centers generate 2% of worldwide CO2 emissions (on par with the aviation industry) [5]. Recent analyses by Gardian suggests that the greenhouse gas emissions from the in-house data centers of major tech companies—Google, Microsoft, Meta, and Apple—are likely about 7.62 times higher than their official reports indicate. [6]. On top of this, providing and maintaining cloud infrastructure (manufacturing, shipping of hardware, buildings and lines) also consumes a huge amount of greenhouse gasses [7] and produces a lot of abnormal waste (e.g. toxic coolants) at the end of life [8].</span></p></div> </div> </div><div class="et_pb_column et_pb_column_1_2 et_pb_column_2 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_image et_pb_image_0"> <span class="et_pb_image_wrap "><picture decoding="async" data-lazy-type="image" title="sustainable edge computing" class="lazy lazy-hidden wp-image-49887"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/co2-emissions-data-center1.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img decoding="async" width="411" height="207" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/co2-emissions-data-center1.png" alt="sustainable edge computing"/> </picture> <noscript><picture decoding="async" title="sustainable edge computing" class="wp-image-49887"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/co2-emissions-data-center1.png.webp"/> <img decoding="async" width="411" height="207" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/co2-emissions-data-center1.png" alt="sustainable edge computing"/> </picture> </noscript></span> </div> </div> </div><div class="et_pb_row et_pb_row_2"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_3 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_4 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Bearing that in mind, the growth rate for data center demand is concerning. The steady increase in data processing, storage, and traffic in the future, comes with a forecasted <b>electricity consumption by data centers to grow by 10% a year</b> [9]. In fact, estimations expect the communications industry to use 20% of all the world’s electricity by 2025 [10]. </span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_3"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_4 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_image et_pb_image_1"> <span class="et_pb_image_wrap "><picture decoding="async" data-lazy-type="image" title="sustainable edge computing" class="lazy lazy-hidden wp-image-49886"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/global-electricity-data-center-image.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img decoding="async" width="678" height="340" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/global-electricity-data-center-image.png" alt="sustainable edge computing"/> </picture> <noscript><picture decoding="async" title="sustainable edge computing" class="wp-image-49886"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/global-electricity-data-center-image.png.webp"/> <img decoding="async" width="678" height="340" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/global-electricity-data-center-image.png" alt="sustainable edge computing"/> </picture> </noscript></span> </div><div class="et_pb_module et_pb_text et_pb_text_5 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Shifting to green energy is a good step. However, a more effective and ultimately longer term solution requires looking at the current model of data storage, filtering, processing and transferal. By implementing Edge Computing, we can reduce the amount of useless and wasteful data traversing to and from the cloud as much as possible, thus reducing overall energy requirements in the long term. Of course, everyone can make a difference with their daily behavior and for developers that is especially true: </span><a href="https://objectbox.io/green-coding/"><span style="font-weight: 400;">Applying green coding principles helps producing applications that produce lower CO2 emissions</span></a><span style="font-weight: 400;"> over the whole app lifetime</span><span style="font-weight: 400;">.</span><span style="font-weight: 400;"> </span></p></div> </div><div class="et_pb_module et_pb_text et_pb_text_6 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h3><span style="font-weight: 400;">What is Edge Computing?</span></h3></div> </div><div class="et_pb_module et_pb_text et_pb_text_7 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Until recently 90% of enterprise data was sent to the cloud, but this is changing rapidly. In fact, this number is dropping to only 25% by 2025,</span><a href="https://www.gartner.com/smarterwithgartner/what-edge-computing-means-for-infrastructure-and-operations-leaders/"> <span style="font-weight: 400;">according to Gartner</span></a><span style="font-weight: 400;">. By then, most of the data will be stored and used locally, on the device it was created on, e.g. on smartphones, cars, trains, machines, watches. This is Edge Computing, and it is an inherently decentralized computing paradigm (as opposed to the centralized cloud computing approach). Accordingly, every edge device needs the same technology stack (just in a much smaller format) as a cloud server. This means: An operating system, a data storage / persistence layer (database), a networking layer, security functionalities etc. that run efficiently on restricted hardware.</span></p> <p><span style="font-weight: 400;">As you can only use the devices’ resources, which can be pretty limited, inefficient applications can push a device to its limits, leading to slow response rates, crashes, and battery drain.</span></p></div> </div><div class="et_pb_module et_pb_image et_pb_image_2"> <span class="et_pb_image_wrap "><picture decoding="async" data-lazy-type="image" title="Application-Programs1 (1)" class="lazy lazy-hidden wp-image-53247"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2021/01/Application-Programs1-1.jpg.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img decoding="async" width="596" height="335" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2021/01/Application-Programs1-1.jpg" alt="edge device architecture"/> </picture> <noscript><picture decoding="async" title="Application-Programs1 (1)" class="wp-image-53247"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2021/01/Application-Programs1-1.jpg.webp"/> <img decoding="async" width="596" height="335" src="https://objectbox.io/wordpress/wp-content/uploads/2021/01/Application-Programs1-1.jpg" alt="edge device architecture"/> </picture> </noscript></span> </div><div class="et_pb_module et_pb_text et_pb_text_8 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p style="text-align: center;"><span style="font-weight: 400;">EDGE DEVICE ARCHITECTURE</span></p></div> </div><div class="et_pb_module et_pb_text et_pb_text_9 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;"></span><span style="font-weight: 400;"></span><span style="font-weight: 400;">Edge Computing is much more than some simple data pre-processing, which takes advantage of only a small portion of the computing that is possible on the edge. An</span><a href="https://objectbox.io/what-is-an-edge-database-and-why-do-you-need-one/"> <span style="font-weight: 400;">Edge Database</span></a><span style="font-weight: 400;"> is a prerequisite for meaningful Edge Computing. With an Edge Database, data can be stored and processed on the devices directly (the so-called edge). Only useful data is sent to the server and saved there, reducing the networking traffic and computing power used in data centers tremendously, while also making use of the computing resources of devices which are already in use. This greatly reduces bandwidth and energy required by data centers. On top, Edge Computing also provides the flexibility to operate independently from an Internet connection, enables fast real time response rates, and cuts cloud costs.</span></p></div> </div><div class="et_pb_module et_pb_text et_pb_text_10 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h3 style="text-align: center;">Why is Edge Computing sustainable?</h3></div> </div> </div> </div><div class="et_pb_row et_pb_row_4"> <div class="et_pb_column et_pb_column_1_3 et_pb_column_5 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_text et_pb_text_11 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h4 style="text-align: center;"><strong>Edge Computing reduces network traffic and data center usage</strong></h4></div> </div><div class="et_pb_module et_pb_text et_pb_text_12 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">With Edge Computing the amount of data traversing the network can be reduced greatly, freeing up bandwidth. Bandwidth i<span>s a measure of the quantity / size of data a network can transfer in a given time frame. Bandwidth </span>is shared among users. Accordingly, the more data is supposed to be sent via the network at a given moment, the slower the network speed. Data on the edge is also much more likely to be useful and indeed used on the edge, in context of its environment. Instead of constantly sending data strems to the cloud, it therefore makes sense to work with the data on the edge and only send that data to the cloud that really is of use there (e.g. results, aggregated data etc.).</span></p></div> </div> </div><div class="et_pb_column et_pb_column_1_3 et_pb_column_6 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_text et_pb_text_13 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h4 style="text-align: center;"><strong>Edge computing is optimized for efficiency</strong></h4></div> </div><div class="et_pb_module et_pb_text et_pb_text_14 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;"></span><span style="font-weight: 400;">Edge “data centers” are typically more efficient than cloud data centers. As described above, resources on edge devices are restricted. Therefore, and as opposed to cloud infrastructure, edge devices do not scale horizontally. That is one reason why every piece of the edge tech stack is – typically and ideally – highly optimized for resource efficiency. Any computing done more efficiently helps reduce energy consumption. Taking into account the huge number of devices already deployed , the worldwide impact of reducing resource use for the same operations is significant.</span></p></div> </div> </div><div class="et_pb_column et_pb_column_1_3 et_pb_column_7 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_15 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h4 style="text-align: center;"><strong><b>Edge Computing uses available hardware</b></strong></h4></div> </div><div class="et_pb_module et_pb_text et_pb_text_16 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">There is a realm of edge devices already deployed that is currently underused. Many existing devices are capable of data persistence, and some even for fairly complex computing. When these devices – instead – send all of their data to the cloud, an opportunity is lost. Edge Computing enables companies to use existing hardware and infrastructure (retrofitting),  taking advantage of the available computing power. If these devices continue to be underused, we will need to build bigger and bigger central data centers, simultaneously burdening existing network infrastructure and reducing bandwidth for senselessly sending everything to the cloud.</span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_5"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_8 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_with_border et_pb_module et_pb_video et_pb_video_0"> <div class="et_pb_video_box"> <video controls> <source class="lazy lazy-hidden" type="video/webm" src="https://objectbox.io/wordpress/wp-content/uploads/2020/02/IoT-Devices.webm" /> </video></div> <div style="background-image:url(https://objectbox.io/wordpress/wp-content/uploads/2020/02/4x.png)" class="et_pb_video_overlay"><div class="et_pb_video_overlay_hover"><a href="#" class="et_pb_video_play"></a></div></div> </div> </div> </div><div class="et_pb_row et_pb_row_6"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_9 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_17 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h3><span style="font-weight: 400;">Cloud versus Edge: an Example</span></h3></div> </div><div class="et_pb_module et_pb_text et_pb_text_18 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Today, many projects are built based on cloud computing. Especially in first prototypes or pilots, cloud computing offers an easy and fast start. However, with scale, cloud computing often becomes too slow, expensive, and unreliable. In a typical cloud setup, data is gathered on edge devices and forwarded to the cloud for computation and storage. Often a computed result is sent back. In this design, the edge devices are dumb devices that are dependent upon a working internet connection and a working cloud server; they do not have any intelligence or logic of their own. In a smart home cloud example, data would be sent from devices in the home, e.g. a thermostat, the door, the TV etc. to the cloud, where it is saved and used.</span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_7"> <div class="et_pb_column et_pb_column_1_2 et_pb_column_10 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_image et_pb_image_3"> <span class="et_pb_image_wrap "><picture loading="lazy" decoding="async" data-lazy-type="image" title="Cloud vs Edge" class="lazy lazy-hidden wp-image-49896"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-cloud-based-1024x451.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img loading="lazy" decoding="async" width="1024" height="451" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-cloud-based-1024x451.png" alt="Cloud vs Edge"/> </picture> <noscript><picture loading="lazy" decoding="async" title="Cloud vs Edge" class="wp-image-49896"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-cloud-based-1024x451.png.webp"/> <img loading="lazy" decoding="async" width="1024" height="451" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-cloud-based-1024x451.png" alt="Cloud vs Edge"/> </picture> </noscript></span> </div> </div><div class="et_pb_column et_pb_column_1_2 et_pb_column_11 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_19 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">If the user would want to make changes via a cloud-based mobile app when in the house, the changes would be sent to the cloud, changed there and then from there be sent to the devices. When the Internet connection is down or the server is not working, the application will not work.</span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_8"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_12 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_20 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">With Edge Computing, data stays where it is produced, used and where it belongs &#8211; without traversing the network unnecessarily. This way, cloud infrastructure needs are reduced in three ways: Firstly, less network traffic, secondly, less central storage and thirdly less computational power. Rather, edge computing makes use of all the capable hardware already deployed in the world. E.g. in a smart home, all the data could stay within the house and be used on site. Only the small part of the data truly needed accessible from anywhere would be synchronized to the cloud. <br /></span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_9"> <div class="et_pb_column et_pb_column_1_2 et_pb_column_13 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_image et_pb_image_4"> <span class="et_pb_image_wrap "><picture loading="lazy" decoding="async" data-lazy-type="image" title="Cloud vs Edge" class="lazy lazy-hidden wp-image-49895"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-edge-based-1024x455.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img loading="lazy" decoding="async" width="1024" height="455" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-edge-based-1024x455.png" alt="Cloud vs Edge"/> </picture> <noscript><picture loading="lazy" decoding="async" title="Cloud vs Edge" class="wp-image-49895"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-edge-based-1024x455.png.webp"/> <img loading="lazy" decoding="async" width="1024" height="455" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/iot-edge-based-1024x455.png" alt="Cloud vs Edge"/> </picture> </noscript></span> </div> </div><div class="et_pb_column et_pb_column_1_2 et_pb_column_14 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_21 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">Take for example a thermostat in such a home setting: it might produce 1000s of temperature data points per minute. However, minimal changes typically do not matter and data updates aren&#8217;t necessary every millisecond. On top, you really do not need all this data in the cloud and accessible from anywhere.</span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_10"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_15 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_22 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">With Edge Computing, this data can stay on the edge and be used within the smart home as needed. Edge Computing enables the smart home to work fast, efficiently, and autonomous from a working internet connection. In addition, the smart home owner can keep the private data to him/herself and is less vulnerable to hacker attacks.  </span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_11"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_16 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_23 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h3><span style="font-weight: 400;">How does ObjectBox make Edge Computing even more sustainable?</span></h3></div> </div><div class="et_pb_module et_pb_text et_pb_text_24 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">ObjectBox improves the sustainability of Edge Computing with high performance and efficiency: our 10X speed advantage translates into less use of CPU and battery / electricity. With ObjectBox, devices compute 10 times as much data with equivalent power. Due to the small size and efficiency, ObjectBox runs on restricted devices allowing application developers to utilize existing hardware longer and/or to do more instead of existing infrastructure / hardware.</span></p> <p><span style="font-weight: 400;">Alongside the performance and size advantages, ObjectBox powers on-device AI applications with its <a href="https://objectbox.io/vector-database-for-ondevice-ai/">on-device vector database</a>, which is optimized for <a href="https://objectbox.io/local-ai-what-it-is-and-why-we-need-it/">handling AI workloads locally</a>. This capability, coupled with <a href="https://objectbox.io/the-rise-of-small-language-models-2/">the rise of small language models (SLMs)</a>, allows developers to shift AI processing from the cloud to the device.</span></p> <p><span style="font-weight: 400;"> ObjectBox&#8217; <a href="/sync">Sync solution</a> takes care of making data available where needed when needed. It allows synchronization in an offline setting and / or to the cloud. Based on efficient syncing principles, ObjectBox Sync aims to reduce unnecessary data traffic as much as possible and is therefore perfectly suited for efficient, useful, and sustainable Edge Computing. Even when syncing the same amount of data, ObjectBox Sync reduces the bandwidth needed and thus cloud networking usage, which incidentally reduces cloud costs.</span></p> <p>Finally, ObjectBox&#8217; <a href="https://objectbox.io/time-series-database/">Time Series feature</a>, provides users an intuitive dashboard to see patterns behind the data, further helping users to track thousands of data points/second in real-time.</p></div> </div> </div> </div><div class="et_pb_row et_pb_row_12"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_17 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_25 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h3><span style="font-weight: 400;">How Edge Computing enables new use cases that help make the world more sustainable</span></h3></div> </div><div class="et_pb_module et_pb_text et_pb_text_26 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">As mentioned above, there are a variety of IoT applications that help reduce waste of all kinds. These applications can have a huge impact on creating a more sustainable world, assuming the applications themselves are sustainable. Three powerful examples to demonstrate the huge impact IoT applications can have on the world:</span></p></div> </div><div class="et_pb_module et_pb_blurb et_pb_blurb_0 et_pb_text_align_left et_pb_blurb_position_left et_pb_bg_layout_light"> <div class="et_pb_blurb_content"> <div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap et_pb_only_image_mode_wrap"><picture loading="lazy" decoding="async" data-lazy-type="image" class="lazy lazy-hidden et-waypoint et_pb_animation_top et_pb_animation_top_tablet et_pb_animation_top_phone wp-image-49889"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/food-waste-300x300.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img loading="lazy" decoding="async" width="300" height="300" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/food-waste-300x300.png" alt="food-icon"/> </picture> <noscript><picture loading="lazy" decoding="async" class="et-waypoint et_pb_animation_top et_pb_animation_top_tablet et_pb_animation_top_phone wp-image-49889"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/food-waste-300x300.png.webp"/> <img loading="lazy" decoding="async" width="300" height="300" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/food-waste-300x300.png" alt="food-icon"/> </picture> </noscript></span></div> <div class="et_pb_blurb_container"> <h4 class="et_pb_module_header"><span>Reducing Food Waste</span></h4> <div class="et_pb_blurb_description"><p><span style="font-weight: 400;">From farm to kitchen, IoT applications can help to reduce food waste across the food chain. Sensors used to monitor the cold chain, from field to supermarket, can ensure that food maintains a certain temperature, thus guaranteeing that products remain food safe and fresh longer, reducing food waste. In addition, local storage can be used to power apps that fight household waste (<a href="https://youtube.com/playlist?list=PLZQbl9Jhl-VCUWJh3969Oxt8ykDzUlQMR" target="_blank" rel="noopener">you can learn how to build a food sharing app yourself in Flutter with this tutorial</a>).</span></p></div> </div> </div> </div><div class="et_pb_module et_pb_blurb et_pb_blurb_1 et_pb_text_align_left et_pb_blurb_position_left et_pb_bg_layout_light"> <div class="et_pb_blurb_content"> <div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap et_pb_only_image_mode_wrap"><picture loading="lazy" decoding="async" data-lazy-type="image" class="lazy lazy-hidden et-waypoint et_pb_animation_top et_pb_animation_top_tablet et_pb_animation_top_phone wp-image-49890"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/light-waste-300x300.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img loading="lazy" decoding="async" width="300" height="300" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/light-waste-300x300.png" alt="light bulb"/> </picture> <noscript><picture loading="lazy" decoding="async" class="et-waypoint et_pb_animation_top et_pb_animation_top_tablet et_pb_animation_top_phone wp-image-49890"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/light-waste-300x300.png.webp"/> <img loading="lazy" decoding="async" width="300" height="300" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/light-waste-300x300.png" alt="light bulb"/> </picture> </noscript></span></div> <div class="et_pb_blurb_container"> <h4 class="et_pb_module_header"><span>Smart City Lighting</span></h4> <div class="et_pb_blurb_description"><p><span style="font-weight: 400;">Smart City Lighting: Chicago has implemented a system which allows them to save approx. 10 million USD / year and London estimates it can save up to 70% of current electricity use and costs as well as maintenance costs through smart public lighting systems [10].</span></p></div> </div> </div> </div><div class="et_pb_module et_pb_blurb et_pb_blurb_2 et_pb_text_align_left et_pb_blurb_position_left et_pb_bg_layout_light"> <div class="et_pb_blurb_content"> <div class="et_pb_main_blurb_image"><span class="et_pb_image_wrap et_pb_only_image_mode_wrap"><picture loading="lazy" decoding="async" data-lazy-type="image" class="lazy lazy-hidden et-waypoint et_pb_animation_top et_pb_animation_top_tablet et_pb_animation_top_phone wp-image-49891"> <source type="image/webp" data-srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/water-waste-300x300.png.webp" srcset="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif"/> <img loading="lazy" decoding="async" width="300" height="300" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/water-waste-300x300.png" alt="water-drop"/> </picture> <noscript><picture loading="lazy" decoding="async" class="et-waypoint et_pb_animation_top et_pb_animation_top_tablet et_pb_animation_top_phone wp-image-49891"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2020/04/water-waste-300x300.png.webp"/> <img loading="lazy" decoding="async" width="300" height="300" src="https://objectbox.io/wordpress/wp-content/uploads/2020/04/water-waste-300x300.png" alt="water-drop"/> </picture> </noscript></span></div> <div class="et_pb_blurb_container"> <h4 class="et_pb_module_header"><span>Reducing Water Waste</span></h4> <div class="et_pb_blurb_description"><p><span style="font-weight: 400;">Many homes and commercial building landscapes are still watered manually or on a set schedule. This is an inexact method of watering, which does not take into account weather, soil moistness, or the water levels needed by the plant. Using smart IoT water management solutions, landscape irrigation can be reduced, saving water and improving landscape health.</span></p></div> </div> </div> </div> </div> </div><div class="et_pb_row et_pb_row_13"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_18 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_27 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><span style="font-weight: 400;">These positive effects are all the more powerful when the applications themselves are sustainable. </span></p> <h2><span style="font-weight: 400;">Sustainable digitization needs an edge</span></h2> <p><span style="font-weight: 400;">The benefits of cloud computing are broad and powerful, however there are costs to this technology. A combination of green data centers and Edge Computing helps to resolve these often unseen costs. With Edge Computing we can reduce the unnecessary use of bandwidth and server capacity (which comes down to infrastructure, electricity and physical space) while simultaneously taking advantage of underused device resources. Also with AI growing in popularity, Edge Computing will become very relevant for sustainable AI applications. </span><span style="font-weight: 400;">AI applications are very resource intensive and Edge AI will help to distribute workloads in a resourceful manner, lowering the resource-use. One example of this is an <a href="https://objectbox.io/vector-embeddings-support-local-java-database/" target="_blank" rel="noopener">efficient local vector database</a>. </span><span style="font-weight: 400;">ObjectBox amplifies these benefits, with high performance on small devices and efficient data synchronization – making edge computing an even more sustainable solution.</span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_14"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_19 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_button_module_wrapper et_pb_button_0_wrapper et_pb_button_alignment_center et_pb_module "> <a class="et_pb_button et_pb_button_0 et_pb_bg_layout_light" href="https://objectbox.io/offline-first-mobile-database/" target="_blank" data-icon="&#x35;">Try ObjectBox: the Edge Database</a> </div> </div> </div><div class="et_pb_row et_pb_row_15"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_20 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_divider et_pb_divider_0 et_pb_divider_position_ et_pb_space"><div class="et_pb_divider_internal"></div></div> </div> </div><div class="et_pb_row et_pb_row_16"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_21 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_28 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><ol> <li style="font-weight: 400;" aria-level="1"><a href="https://www.iea.org/reports/data-centres-and-data-transmission-networks"><span style="font-weight: 400;">https://www.iea.org/energy-system/buildings/data-centres-and-data-transmission-networks</span></a></li> <li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;"><a href="https://8billiontrees.com/carbon-offsets-credits/carbon-ecological-footprint-calculators/carbon-footprint-of-data-centers/">https://8billiontrees.com/carbon-offsets-credits/carbon-ecological-footprint-calculators/carbon-footprint-of-data-centers/</a></span><span style="font-weight: 400;"></span></li> <li style="font-weight: 400;" aria-level="1"><a href="https://www.datacenterdynamics.com/en/opinions/future-data-centers-green/"><span style="font-weight: 400;">https://www.datacenterdynamics.com/en/opinions/future-data-centers-green/</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://www.datacamp.com/blog/environmental-impact-data-digital-technology"><span style="font-weight: 400;">https://www.datacamp.com/blog/environmental-impact-data-digital-technology</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://www.computerworld.com/article/3431148/why-data-centres-are-the-new-frontier-in-the-fight-against-climate-change.html"><span style="font-weight: 400;">https://www.theguardian.com/technology/2024/sep/15/data-center-gas-emissions-tech</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://medium.com/@jaychapel/aws-vs-azure-vs-google-cloud-market-share-2019-what-the-latest-data-shows-dc21f137ff1c"><span style="font-weight: 400;">https://medium.com/@jaychapel/aws-vs-azure-vs-google-cloud-market-share-2019-what-the-latest-data-shows-dc21f137ff1c</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://thereader.mitpress.mit.edu/the-staggering-ecological-impacts-of-computation-and-the-cloud/"><span style="font-weight: 400;">https://thereader.mitpress.mit.edu/the-staggering-ecological-impacts-of-computation-and-the-cloud/</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://link.springer.com/article/10.1007/s12053-019-09833-8#ref-CR2"><span style="font-weight: 400;">https://link.springer.com/article/10.1007/s12053-019-09833-8#ref-CR2</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/investing-in-the-rising-data-center-economy"><span style="font-weight: 400;">https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/investing-in-the-rising-data-center-economy</span></a></li> <li style="font-weight: 400;" aria-level="1"><a href="https://www.smartcitylab.com/blog/urban-environment/lighting-the-road-to-smart-cities-and-sustainability/"><span style="font-weight: 400;">https://www.researchgate.net/publication/320225452_Total_Consumer_Power_Consumption_Forecast</span></a></li> </ol> <p><a href="https://fortune.com/2019/09/18/internet-cloud-server-data-center-energy-consumption-renewable-coal/"></a></p> <p>&nbsp;</p></div> </div> </div> </div> </div> </article> <article id="post-260654" class="et_pb_post post-260654 post type-post status-publish format-standard has-post-thumbnail hentry category-edge-ai category-edge-database category-release category-vector-database tag-edge-database tag-release tag-vector-database"> <a class="entry-featured-image-url" href="https://objectbox.io/the-embedded-database-for-cpp-and-c/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/Cpp-objectBoxVectorSearch_4_0Release-1080x675.jpg" alt="The Embedded Database for C++ and C" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/the-embedded-database-for-cpp-and-c/">The Embedded Database for C++ and C</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/vivien/" title="Posts by Vivien" rel="author">Vivien</a></span> | <span class="published">Nov 11, 2024</span> | <a href="https://objectbox.io/category/edge-ai/" rel="category tag">Edge AI</a>, <a href="https://objectbox.io/category/edge-database/" rel="category tag">Edge Database</a>, <a href="https://objectbox.io/category/release/" rel="category tag">Release</a>, <a href="https://objectbox.io/category/vector-database/" rel="category tag">vector database</a></p> <p>After 6 years and 21 incremental “zero dot” releases, we are excited to announce the first major release of <a href="https://github.com/objectbox/objectbox-c">ObjectBox</a>, the high-performance <a href="https://objectbox.io/how-to-choose-embedded-database/">embedded database</a> for C++ and C. As a faster <a href="https://greenrobot.org/news/mobile-databases-sqlite-alternatives-and-nosql-for-android-and-ios/">alternative to SQLite</a>, ObjectBox delivers more than just speed &#8211; it’s object-oriented, highly efficient, and offers advanced features like <a href="https://objectbox.io/sync/">data synchronization</a> and <a href="https://docs.objectbox.io/on-device-vector-search">vector search</a>. It is the perfect choice for on-device databases, especially in resource-constrained environments or in cases with real-time requirements.</p> <h2 class="wp-block-heading">What is ObjectBox?</h2> <p><a href="https://objectbox.io">ObjectBox</a> is a free <strong>embedded database <strong>designed for</strong> object persistence</strong>. With “object” referring to instances of C++ structs or classes, it is built for objects from scratch with zero overhead — no SQL or ORM layer is involved, resulting in outstanding object performance.</p> <p>The ObjectBox C++ database offers advanced features, such as relations and ACID transactions, to ensure data consistency at all times. Store your data privately on-device across a wide range of hardware, from low-profile ARM platforms and mobile devices to high-speed servers. It&#8217;s a great fit for edge devices, iOS or Android apps, and server backends. Plus, ObjectBox is <strong>multi-platform</strong> (any POSIX will do, e.g. iOS, Android, Linux, Windows, or QNX) and <strong>multi-language</strong>: e.g., on mobile, you can work with Kotlin, Java or Swift objects. This cross-platform compatibility is no coincidence, as ObjectBox Sync will seamlessly synchronize data across devices and platforms.</p> <h2 class="wp-block-heading">Why should C and C++ Developers care?</h2> <p>ObjectBox <strong>deeply integrates with C and C++</strong>. Persisting C or C++ structs is as simple as a single line of code, with no need to interact with unfamiliar database APIs that disrupt the natural flow of C++. There’s also no data transformation (e.g. SQL, rows &amp; columns) required, and interacting with the database feels seamless and intuitive.</p> <p>As a C or C++ developer, you likely value <strong>performance</strong>. ObjectBox delivers exceptional speed (at least we haven’t tested against a faster DB yet). Having several 100,000s CRUD operations per second on commodity hardware is no sweat. Our unique advantage is that, if you want to, you can read raw objects from &#8220;mmapped&#8221; memory (directly from disk!). This offers true “zero copy” data access without any throttling layers between you and the data.</p> <p>Finally, <strong>CMake support</strong> makes integration straightforward, starting with <code>FetchContent</code> support so you can easily get the library. But there’s more: we offer code generation for entity structs, which takes only a single CMake command.</p> <h2 class="wp-block-heading">“ObjectBox++”: A quick Walk-Through</h2> <p>Once ObjectBox is <a href="https://cpp.objectbox.io/installation">set up for CMake</a>, the first step is to define the <strong>data model</strong> using FlatBuffers schema files. FlatBuffers is a building block within ObjectBox and is also widely used in the industry. For those familiar with Protocol Buffers, FlatBuffers are its parser-less (i.e., faster) cousin. Here&#8217;s an example of a “Task” entity defined in a file named “task.fbs”:</p> <!-- Urvanov Syntax Highlighter v2.8.34 --> <div id="urvanov-syntax-highlighter-67f907f98b8a1853728317" class="urvanov-syntax-highlighter-syntax crayon-theme-objectbox-dark urvanov-syntax-highlighter-font-monospace urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" no-popup minimize scroll-always" style=" font-size: 15px !important; line-height: 18px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="hide"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 15px !important; line-height: 18px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8a1853728317-1">1</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8a1853728317-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8a1853728317-3">3</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8a1853728317-4">4</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 15px !important; line-height: 18px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8a1853728317-1"><span class="crayon-e">table</span><span class="crayon-h"> </span><span class="crayon-e">Task</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8a1853728317-2"><span class="crayon-h"> </span><span class="crayon-v">id</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-v">ulong</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8a1853728317-3"><span class="crayon-h"> </span><span class="crayon-v">text</span><span class="crayon-o">:</span><span class="crayon-h"> </span><span class="crayon-t">string</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8a1853728317-4"><span class="crayon-sy">}</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0005 seconds] --> <p></p> <p>And with that file, you can <strong>generate code</strong> using the following CMake command:</p> <!-- Urvanov Syntax Highlighter v2.8.34 --> <div id="urvanov-syntax-highlighter-67f907f98b8b0626197667" class="urvanov-syntax-highlighter-syntax crayon-theme-objectbox-dark urvanov-syntax-highlighter-font-monospace urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" no-popup minimize scroll-always" style=" font-size: 15px !important; line-height: 18px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="hide"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 15px !important; line-height: 18px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b0626197667-1">1</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 15px !important; line-height: 18px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b0626197667-1"><span class="crayon-e">add_obx_schema</span><span class="crayon-sy">(</span><span class="crayon-e">TARGET</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-v">PROJECT_NAME</span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-e">SCHEMA_FILES </span><span class="crayon-v">tasks</span><span class="crayon-sy">.</span><span class="crayon-e">fbs </span><span class="crayon-v">INSOURCE</span><span class="crayon-sy">)</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> <p></p> <p>Among other things, code generation creates a C++ struct for Task data, which is used to interact with the ObjectBox API. The struct is a straightforward C++ representation of the data model:</p> <!-- Urvanov Syntax Highlighter v2.8.34 --> <div id="urvanov-syntax-highlighter-67f907f98b8b3773381798" class="urvanov-syntax-highlighter-syntax crayon-theme-objectbox-dark urvanov-syntax-highlighter-font-monospace urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" no-popup minimize scroll-always" style=" font-size: 15px !important; line-height: 18px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="hide"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 15px !important; line-height: 18px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b3773381798-1">1</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b3773381798-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b3773381798-3">3</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b3773381798-4">4</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 15px !important; line-height: 18px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b3773381798-1"><span class="crayon-t">struct</span><span class="crayon-h"> </span><span class="crayon-e">Task</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b3773381798-2"><span class="crayon-h"> </span><span class="crayon-e">obx_id </span><span class="crayon-v">id</span><span class="crayon-sy">;</span><span class="crayon-h">&nbsp;&nbsp;</span><span class="crayon-c">// uint64_t</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b3773381798-3"><span class="crayon-h"> </span><span class="crayon-v">std</span><span class="crayon-o">::</span><span class="crayon-t">string</span><span class="crayon-h"> </span><span class="crayon-v">text</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b3773381798-4"><span class="crayon-sy">}</span><span class="crayon-sy">;</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> <p></p> <p>The code generation also provides some internal “glue code” including the method <code>create_obx_model()</code> that defines the data model internally. With this, you can <strong>open the store and insert a task object</strong> in just three lines of code:</p> <!-- Urvanov Syntax Highlighter v2.8.34 --> <div id="urvanov-syntax-highlighter-67f907f98b8b5260630982" class="urvanov-syntax-highlighter-syntax crayon-theme-objectbox-dark urvanov-syntax-highlighter-font-monospace urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" no-popup minimize scroll-always" style=" font-size: 15px !important; line-height: 18px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="hide"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 15px !important; line-height: 18px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b5260630982-1">1</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b5260630982-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b5260630982-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 15px !important; line-height: 18px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b5260630982-1"><span class="crayon-v">obx</span><span class="crayon-o">::</span><span class="crayon-e">Store </span><span class="crayon-e">store</span><span class="crayon-sy">(</span><span class="crayon-e">create_obx_model</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="crayon-c">// Create the database</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b5260630982-2"><span class="crayon-v">obx</span><span class="crayon-o">::</span><span class="crayon-v">Box</span><span class="crayon-o">&lt;</span><span class="crayon-v">Task</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">box</span><span class="crayon-sy">(</span><span class="crayon-v">store</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-c">// Main API for a type</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b5260630982-3"><span class="crayon-e">obx_id </span><span class="crayon-v">id</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">box</span><span class="crayon-sy">.</span><span class="crayon-e">put</span><span class="crayon-sy">(</span><span class="crayon-sy">{</span><span class="crayon-sy">.</span><span class="crayon-v">text</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-s">"Buy milk"</span><span class="crayon-sy">}</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span><span class="crayon-h">&nbsp;&nbsp;</span><span class="crayon-c">// Object is persisted</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0006 seconds] --> <p></p> <p>And that’s all it takes to get a database running in C++. This snippet essentially covers the basics of the <a href="https://cpp.objectbox.io/getting-started">getting started guide</a> and <a href="https://github.com/objectbox/objectbox-c/tree/main/examples/cpp-autogen">this example project</a> on GitHub.</p> <h2 class="wp-block-heading">Vector Embeddings for C++ AI Applications</h2> <p>Even if you don’t have an immediate use case, ObjectBox is fully equipped for vectors and AI applications. As a “vector database,” ObjectBox is ready for use in high-dimensional vector similarity searches, employing the HNSW algorithm for highly scalable performance beyond millions of vectors.</p> <p>Vectors can represent semantics within a context (e.g. objects in a picture) or even documents and paragraphs to “capture” their meaning. This is typically used for RAG (Retrieval-Augmented Generation) applications that interact with LLMs. Basically, RAG allows AI to work with specific data, e.g. documents of a department or company and thus individualizes the created content.</p> <p>To quickly illustrate vector search, imagine a database of cities including their location as a 2-dimensional vector. To enable nearest neighbor search, all you need to do is to define a HNSW index on the location property, which enables the <code>nearestNeighbors</code> query condition used like this:</p> <!-- Urvanov Syntax Highlighter v2.8.34 --> <div id="urvanov-syntax-highlighter-67f907f98b8b7591905283" class="urvanov-syntax-highlighter-syntax crayon-theme-objectbox-dark urvanov-syntax-highlighter-font-monospace urvanov-syntax-highlighter-os-pc print-yes notranslate" data-settings=" no-popup minimize scroll-always" style=" font-size: 15px !important; line-height: 18px !important;"> <div class="urvanov-syntax-highlighter-plain-wrap"></div> <div class="urvanov-syntax-highlighter-main" style=""> <table class="crayon-table"> <tr class="urvanov-syntax-highlighter-row"> <td class="crayon-nums " data-settings="hide"> <div class="urvanov-syntax-highlighter-nums-content" style="font-size: 15px !important; line-height: 18px !important;"><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b7591905283-1">1</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b7591905283-2">2</div><div class="crayon-num" data-line="urvanov-syntax-highlighter-67f907f98b8b7591905283-3">3</div></div> </td> <td class="urvanov-syntax-highlighter-code"><div class="crayon-pre" style="font-size: 15px !important; line-height: 18px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b7591905283-1"><span class="crayon-t">float</span><span class="crayon-h"> </span><span class="crayon-e">madrid</span><span class="crayon-sy">[</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-cn">40.416775F</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-cn">3.703790F</span><span class="crayon-sy">}</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b7591905283-2"><span class="crayon-v">obx</span><span class="crayon-o">::</span><span class="crayon-e">Query </span><span class="crayon-v">query</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">cityBox</span><span class="crayon-sy">.</span><span class="crayon-e">query</span><span class="crayon-sy">(</span><span class="crayon-v">City_</span><span class="crayon-o">::</span><span class="crayon-v">location</span><span class="crayon-sy">.</span><span class="crayon-e">nearestNeighbors</span><span class="crayon-sy">(</span><span class="crayon-v">madrid</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-sy">)</span><span class="crayon-sy">)</span><span class="crayon-sy">.</span><span class="crayon-e">build</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="urvanov-syntax-highlighter-67f907f98b8b7591905283-3"><span class="crayon-v">std</span><span class="crayon-o">::</span><span class="crayon-v">vector</span><span class="crayon-o">&lt;</span><span class="crayon-v">City</span><span class="crayon-o">&gt;</span><span class="crayon-h"> </span><span class="crayon-v">cities</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-v">query</span><span class="crayon-sy">.</span><span class="crayon-e">findWithScores</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span></div></div></td> </tr> </table> </div> </div> <!-- [Format Time: 0.0001 seconds] --> <p>For more details, refer to the <a href="https://docs.objectbox.io/on-device-vector-search">vector search doc pages</a> or the full <a href="https://github.com/objectbox/objectbox-c/tree/main/examples/vectorsearch-cities">city vector search example</a> on GitHub.</p> <h2 class="wp-block-heading">store.close(); // Some closing words</h2> <p>This release marks an important milestone for ObjectBox, delivering significant improvements in speed, usability, and features. We&#8217;re excited to see how these enhancements will help you create even better, feature-rich applications.</p> <p>There’s so much to explore! Please follow the links to dive deeper into topics like <a href="https://cpp.objectbox.io/queries">queries</a>, <a href="https://cpp.objectbox.io/relations">relations</a>, <a href="https://cpp.objectbox.io/transactions">transactions</a>, and, of course, <a href="https://objectbox.io/sync/">ObjectBox Sync</a>.</p> <p>As always, we’re here to listen to your feedback and are committed to continually evolving ObjectBox to meet your needs. Don’t hesitate to reach out to us at any time.</p> <p>P.S. Are you looking for a new job? We have a vacant <a href="https://objectbox.io/c-developer-with-a-heart-for-performance-efficiency-distributed-systems-and-tough-coding-challenges/">C++ position</a> to build the future of ObjectBox with us. We are looking forward to receiving your application! 🙂</p> </article> <article id="post-260765" class="et_pb_post post-260765 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-data-sync category-edge-ai category-edge-computing category-edge-database category-mobile-database category-sync tag-edge-ai tag-edge-computing tag-edge-database"> <a class="entry-featured-image-url" href="https://objectbox.io/empowering-edge-ai-the-critical-role-of-databases/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/2024_EdgeAIVectorDatabase-1080x675.jpg" alt="The Critical Role of Databases for Edge AI" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/empowering-edge-ai-the-critical-role-of-databases/">The Critical Role of Databases for Edge AI</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/vivien/" title="Posts by Vivien" rel="author">Vivien</a></span> | <span class="published">Nov 11, 2024</span> | <a href="https://objectbox.io/category/ai/" rel="category tag">AI</a>, <a href="https://objectbox.io/category/data-sync/" rel="category tag">Data Sync</a>, <a href="https://objectbox.io/category/edge-ai/" rel="category tag">Edge AI</a>, <a href="https://objectbox.io/category/edge-computing/" rel="category tag">Edge Computing</a>, <a href="https://objectbox.io/category/edge-database/" rel="category tag">Edge Database</a>, <a href="https://objectbox.io/category/mobile-database/" rel="category tag">Mobile Database</a>, <a href="https://objectbox.io/category/sync/" rel="category tag">Sync</a></p><p><div class="et_pb_section et_pb_section_1 et_section_regular" > <div class="et_pb_row et_pb_row_17"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_22 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_29 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h2 class="wp-block-heading">Edge AI vs. Cloud AI</h2></div> </div> </div> </div><div class="et_pb_row et_pb_row_18"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_23 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_image et_pb_image_5"> <span class="et_pb_image_wrap "><img decoding="async" width="1024" height="658" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2024/04/Edge-Computing-AI-EdgeAI-1024x658.png" alt="Edge AI is where Edge Computing meets AI" title="Edge Computing-AI-EdgeAI" class="lazy lazy-hidden wp-image-256960" /><noscript><img decoding="async" width="1024" height="658" src="https://objectbox.io/wordpress/wp-content/uploads/2024/04/Edge-Computing-AI-EdgeAI-1024x658.png" alt="Edge AI is where Edge Computing meets AI" title="Edge Computing-AI-EdgeAI" class="wp-image-256960" /></noscript></span> </div> </div><div class="et_pb_column et_pb_column_3_4 et_pb_column_24 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_30 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><strong>What is Edge AI?</strong> <a href="https://objectbox.io/on-device-vector-databases-and-edge-ai/">Edge AI</a> (also: “on-device AI”, &#8220;local AI&#8221;) brings artificial intelligence to applications at the network’s edge, such as mobile devices, <a href="https://objectbox.io/iot-edge-computing-database-decentralized-data-flows/iot-use-cases-edge-computing/">IoT</a>, and other embedded systems like, e.g., interactive kiosks. Edge AI combines AI with <a href="https://objectbox.io/what-is-edge-computing/">Edge Computing</a>, a decentralized paradigm designed to bring computing as close as possible to where data is generated and utilized.</p> <p><strong style="font-size: 14px;">What is Cloud AI? </strong><span style="font-size: 14px;">As opposed to this, </span><strong style="font-size: 14px;">cloud AI</strong><span style="font-size: 14px;"> refers to an architecture where applications rely on data and AI models hosted on distant cloud infrastructure. The cloud offers extensive storage and processing power.</span></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_19"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_25 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_31 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><!-- divi:heading --><!-- /divi:paragraph --><!-- divi:heading --></p> <h2 class="wp-block-heading">An Edge for Edge AI: The Cloud </h2> <p>&nbsp;</p> <p><!-- /divi:paragraph --></div> </div><div class="et_pb_module et_pb_image et_pb_image_6"> <span class="et_pb_image_wrap "><img decoding="async" width="1024" height="454" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/11_11_2024_ObjectBox_architecture-1-1024x454.png" alt="Cloud AI to Edge AI architecture" title="11_11_2024_ObjectBox_architecture-1" class="lazy lazy-hidden wp-image-260769" /><noscript><img decoding="async" width="1024" height="454" src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/11_11_2024_ObjectBox_architecture-1-1024x454.png" alt="Cloud AI to Edge AI architecture" title="11_11_2024_ObjectBox_architecture-1" class="wp-image-260769" /></noscript></span> </div><div class="et_pb_module et_pb_text et_pb_text_32 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p style="text-align: center;">Example: Edge-Cloud AI setup with a secure, two-way Data Sync architecture</p></div> </div><div class="et_pb_module et_pb_text et_pb_text_33 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p>Today, there is a broad spectrum of application architectures combining Edge Computing and Cloud Computing, and the same applies to AI. For example, &#8220;Apple Intelligence&#8221; performs many AI tasks directly on the phone (on-device AI) while sending more complex requests to a private, secure cloud. This approach combines the best of both worlds &#8211; with the cloud giving an edge to the local AI rather than the other way around. Let’s have a look at the advantages on-device AI brings to the table.</p></div> </div><div class="et_pb_module et_pb_text et_pb_text_34 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h2>Benefits of Local AI on the Edge</h2></div> </div> </div> </div><div class="et_pb_row et_pb_row_20"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_26 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><ul> <li><strong>Enhanced Privacy</strong>. <a href="https://www.emft.fraunhofer.de/en/research-development/system-solution-ai/edge-ai.html">Local data processing reduces the risk of breaches</a>.<!-- /divi:list-item --> <!-- divi:list-item --></li> <li><strong>Faster Response Rates</strong>. Processing data locally cuts down travel time for data, speeding up responses.<!-- /divi:list-item --> <!-- divi:list-item --></li> <li><strong>Increased Availability</strong>. On-device processing makes apps fully offline-capable. Operations can continue smoothly during internet or data center disruptions.</li> <li><!-- /divi:list-item --> <!-- divi:list-item --><strong>Sustainability/costs</strong>. Keeping data where it is produced and used minimizes data transfers, cutting networking costs and reducing energy consumption—and with it, CO2 emissions.</li> </ul></div> </div> </div> </div><div class="et_pb_row et_pb_row_21"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_27 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_36 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h2 class="wp-block-heading">Challenges of Local AI on the Edge</h2></div> </div><div class="et_pb_module et_pb_text et_pb_text_37 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><ul> <li><b>Data Storage and Processing:</b><span style="font-weight: 400;"> Local AI requires an on-device database that runs on a wide variety of edge devices (Mobile,IoT, Embedded) and performs complex tasks such as </span><a href="https://objectbox.io/vector-search-making-sense-of-search-queries/"><span style="font-weight: 400;">vector search</span></a><span style="font-weight: 400;"> locally on the device with minimal resource consumption.</span></li> <li><b>Data Sync:</b><span style="font-weight: 400;"> It’s vital to keep data consistent across devices, necessitating </span><a href="https://objectbox.io/sync/"><span style="font-weight: 400;">robust bi-directional Data Sync solutions</span></a><span style="font-weight: 400;">. Implementing such a solution oneself requires specialized tech talent, is non-trivial and time-consuming, and will be an ongoing maintenance factor. </span></li> <li><span style="font-weight: 400;"><b>Small Language Models:</b> <a href="https://objectbox.io/the-rise-of-small-language-models-2/">Small Language Models</a> (SLMs) like <b>Phi-2</b> (<a href="https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/">Microsoft Research</a>), <b>TinyStories</b> (<a href="https://huggingface.co/papers/2305.07759">HuggingFace</a>), and <b>Mini-Giants</b> (<a href="https://arxiv.org/abs/2307.08189">arXiv</a>) are efficient and resource-friendly but often need enhancement with local vector databases for better response accuracy. An on-device vector database allows on-device semantic search with private, contextual information, reducing latency while enabling faster and more relevant outputs. For complex queries requiring larger models, a database that works both on-device and in the cloud (or a large on-premise server) is perfect for scalability and flexibility in on-device AI applications.</span></li> </ul></div> </div> </div> </div><div class="et_pb_row et_pb_row_22"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_28 et_pb_css_mix_blend_mode_passthrough et-last-child"> <div class="et_pb_module et_pb_text et_pb_text_38 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h2>On-device AI Use Cases</h2></div> </div><div class="et_pb_module et_pb_text et_pb_text_39 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p>On-device AI is revolutionizing numerous sectors by enabling real-time data processing wherever and whenever it&#8217;s needed. It enhances security systems, improves customer experiences in retail, supports predictive maintenance in industrial environments, and facilitates immediate medical diagnostics. On-device AI is essential for personalizing in-car experiences, delivering reliable remote medical care, and powering personal AI assistants on mobile devices—always keeping user privacy intact.</p></div> </div><div class="et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><strong>Personalized In-Car Experience:</strong> Features like climate control, lighting, and entertainment can be adjusted dynamically in vehicles based on real-time inputs and user habits, improving comfort and satisfaction. Recent studies, such as one by MHP, emphasize the increasing consumer demand for these AI-enabled features. This demand is driven by a desire for smarter, more responsive vehicle technology.</p> <p><strong>Remote Care:</strong> In healthcare, on-device AI enables on-device data processing that’s crucial for swift diagnostics and treatment. This secure, offline-capable technology aligns with health regulations like HIPAA and boosts emergency response speeds and patient care quality.</p> <p><strong>Personal AI Assistants:</strong> Today’s personal AI assistants often depend on the cloud, raising privacy issues. However, some companies, including Apple, are shifting towards on-device processing for basic tasks and secure, anonymized cloud processing for more complex functions, enhancing user privacy.</p></div> </div><div class="et_pb_module et_pb_text et_pb_text_41 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h2>ObjectBox for On-Device AI &#8211; an edge for everyone</h2></div> </div><div class="et_pb_module et_pb_image et_pb_image_7"> <span class="et_pb_image_wrap "><img decoding="async" width="1024" height="514" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/11_11_2024_Cloud_vs_Edge-1024x514.png" alt="Edge Cloud spectrum" title="11_11_2024_Cloud_vs_Edge" class="lazy lazy-hidden wp-image-260770" /><noscript><img decoding="async" width="1024" height="514" src="https://objectbox.io/wordpress/wp-content/uploads/2024/11/11_11_2024_Cloud_vs_Edge-1024x514.png" alt="Edge Cloud spectrum" title="11_11_2024_Cloud_vs_Edge" class="wp-image-260770" /></noscript></span> </div><div class="et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p style="text-align: center;">The continuum from Edge to Cloud</p></div> </div><div class="et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><!-- divi:paragraph --></p> <p>ObjectBox supports <a href="https://shubham0204.github.io/blogpost/programming/objectbox-llamaindex">AI applications</a> from Edge to cloud. It stands out as the first on-device vector database, enabling powerful Edge AI on <a href="https://objectbox.io/mobile-database/">mobile</a>, <a href="https://objectbox.io/iot-edge-computing-database-decentralized-data-flows/">IoT</a>, and other embedded devices with minimal hardware needs. It works offline and supports efficient, private AI applications with a seamless <a href="https://objectbox.io/sync/">bi-directional Data Sync solution</a>, completely on-premise, and optional <a href="https://objectbox.io/mongodb/">integration with MongoDB</a> for enhanced backend features and cloud AI.</p> <p><span style="font-size: 14px;">Interested in extending your AI to the edge? Let’s connect to explore how we can transform your applications.</span></p></div> </div> </div> </div> </div></p> </article> <div class="pagination clearfix"> <div class="alignleft"><a href="https://objectbox.io/author/vivien/page/2/" >&laquo; Older Entries</a></div> <div class="alignright"></div> </div> </div> </div> </div> </div> <script nitro-exclude> var heartbeatData = new FormData(); heartbeatData.append('nitroHeartbeat', '1'); fetch(location.href, {method: 'POST', body: heartbeatData, credentials: 'omit'}); </script> <script nitro-exclude> document.cookie = 'nitroCachedPage=' + (!window.NITROPACK_STATE ? '0' : '1') + '; path=/; SameSite=Lax'; </script> <span class="et_pb_scroll_top et-pb-icon"></span> <footer id="main-footer"> <div id="footer-bottom"> <div class="container clearfix"> <div id="footer-info">Ⓒ Copyright 2025 ObjectBox Limited. All rights reserved. | <a href="https://objectbox.io/wordpress/wp-content/uploads/2024/10/2024_10_23_Object-Box-Privacy-Notice.docx.pdf" target="_blank" rel="nofollow">Privacy notice</a> | <a href="https://objectbox.io/wordpress/wp-content/uploads/2024/10/ObjectBox-Terms-Of-UseAC2024.pdf" target="_blank" rel="nofollow">Terms of use &amp; Imprint</a></div> </div> </div> </footer> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function() { const images = document.querySelectorAll('img:not([width]):not([height])'); images.forEach(function(img) { if (img.naturalWidth && img.naturalHeight) { img.setAttribute('width', img.naturalWidth); img.setAttribute('height', img.naturalHeight); } }); }); </script> <script type='text/javascript'>( $ => { /** * Displays toast message from storage, it is used when the user is redirected after login */ if ( window.sessionStorage ) { $( window ).on( 'tcb_after_dom_ready', () => { const message = sessionStorage.getItem( 'tcb_toast_message' ); if ( message ) { tcbToast( sessionStorage.getItem( 'tcb_toast_message' ), false ); sessionStorage.removeItem( 'tcb_toast_message' ); } } ); } /** * Displays toast message * * @param {string} message - message to display * @param {Boolean} error - whether the message is an error or not * @param {Function} callback - callback function to be called after the message is closed */ function tcbToast( message, error, callback ) { /* Also allow "message" objects */ if ( typeof message !== 'string' ) { message = message.message || message.error || message.success; } if ( ! error ) { error = false; } TCB_Front.notificationElement.toggle( message, error ? 'error' : 'success', callback ); } } )( typeof ThriveGlobal === 'undefined' ? jQuery : ThriveGlobal.$j ); </script><style type="text/css" id="tve_notification_styles"></style> <div class="tvd-toast tve-fe-message" style="display: none"> <div class="tve-toast-message tve-success-message"> <div class="tve-toast-icon-container"> <span class="tve_tick thrv-svg-icon"></span> </div> <div class="tve-toast-message-container"></div> </div> </div><!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/3772993.js"></script> <!-- End of HubSpot Embed Code --> <script> // Optimized Markdown Button Script - Deferred Loading (function() { // Defer execution until after page load if (document.readyState === 'complete') { initMarkdownButton(); } else { window.addEventListener('load', initMarkdownButton); } function initMarkdownButton() { // Quick path check before doing any other work var currentPath = window.location.pathname; // Fast check - only proceed if path contains keywords that might have markdown if (!(currentPath === '/' || currentPath === '/blog/' || currentPath.includes('/mongodb') || currentPath.includes('/sync') || currentPath.includes('/blog/'))) { return; // Exit early if not a potential markdown page } // More specific check only if we passed the fast check var validPaths = ['/', '/mongodb/', '/sync/', '/alternative-to-mongodb-sync/', '/blog/']; var pathSegments = currentPath.split('/').filter(function(segment) { return segment.length > 0; }); var isBlogPost = pathSegments.length >= 1 && pathSegments[0] === 'blog'; // Only proceed if we have a valid path if (validPaths.includes(currentPath) || isBlogPost) { // Use setTimeout to defer button creation setTimeout(function() { // Create button element var button = document.createElement('button'); button.textContent = 'View as Markdown'; // Apply styles button.style.position = 'fixed'; button.style.bottom = '20px'; button.style.right = '20px'; button.style.zIndex = '1000'; button.style.backgroundColor = '#4CAF50'; button.style.color = 'white'; button.style.border = 'none'; button.style.borderRadius = '4px'; button.style.padding = '8px 16px'; button.style.cursor = 'pointer'; button.style.boxShadow = '0 2px 5px rgba(0,0,0,0.2)'; // Add click handler button.addEventListener('click', function() { var markdownUrl; // Determine markdown URL based on current path if (currentPath === '/' || currentPath === '') { markdownUrl = '/markdown/index.html.md'; } else if (currentPath === '/mongodb/') { markdownUrl = '/markdown/mongodb/index.html.md'; } else if (currentPath === '/sync/') { markdownUrl = '/markdown/sync/index.html.md'; } else if (currentPath === '/alternative-to-mongodb-sync/') { markdownUrl = '/markdown/alternative-to-mongodb-sync/index.html.md'; } else if (currentPath === '/blog/') { markdownUrl = '/markdown/blog/index.md'; } else { // Handle blog posts var path = currentPath.endsWith('/') ? currentPath.slice(0, -1) : currentPath; var slug = path.split('/').pop(); markdownUrl = '/markdown/blog/' + slug + '.md'; } // Open in a new tab window.open(window.location.origin + markdownUrl, '_blank'); }); // Add button to page document.body.appendChild(button); }, 100); // Small delay to ensure it doesn't block other resources } } })(); </script> <link rel='stylesheet' id='mediaelement-css' href='https://objectbox.io/wordpress/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://objectbox.io/wordpress/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.7.2' type='text/css' media='all' /> <link rel='stylesheet' id='urvanov_syntax_highlighter-css' href='https://objectbox.io/wordpress/wp-content/plugins/urvanov-syntax-highlighter/css/min/urvanov_syntax_highlighter.min.css?ver=2.8.34' type='text/css' media='all' /> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/divi-modules-table-maker/extensions/scripts/public-module-script-min.js?ver=3.1.2" id="dvmd-tm-public-module-script-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/libs/magnific-popup/magnific-popup.js?ver=4.0.5" id="divi-torque-lite-magnific-popup-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/libs/slick/slick.min.js?ver=4.0.5" id="divi-torque-lite-slick-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/libs/counter-up/counter-up.min.js?ver=4.0.5" id="divi-torque-lite-counter-up-js"></script> <script type="text/javascript" id="divi-torque-lite-frontend-js-extra"> /* <![CDATA[ */ var diviTorqueLiteFrontend = {"ajaxurl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/addons-for-divi/assets/js/frontend.js?ver=4.0.5" id="divi-torque-lite-frontend-js"></script> <script type="text/javascript" id="divi-custom-script-js-extra"> /* <![CDATA[ */ var DIVI = {"item_count":"%d Item","items_count":"%d Items"}; var et_builder_utils_params = {"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"}; var et_frontend_scripts = {"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"}; var et_pb_custom = {"ajaxurl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","images_uri":"https:\/\/objectbox.io\/wordpress\/wp-content\/themes\/Divi\/images","builder_images_uri":"https:\/\/objectbox.io\/wordpress\/wp-content\/themes\/Divi\/includes\/builder\/images","et_frontend_nonce":"5d1cf96fce","subscription_failed":"Please, check the fields below to make sure you entered the correct information.","et_ab_log_nonce":"d1df5c8bfd","fill_message":"Please, fill in the following fields:","contact_error_message":"Please, fix the following errors:","invalid":"Invalid email","captcha":"Captcha","prev":"Prev","previous":"Previous","next":"Next","wrong_captcha":"You entered the wrong number in captcha.","wrong_checkbox":"Checkbox","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"261404","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"no","is_shortcode_tracking":"","tinymce_uri":"https:\/\/objectbox.io\/wordpress\/wp-content\/themes\/Divi\/includes\/builder\/frontend-builder\/assets\/vendors","accent_color":"#17a6a6","waypoints_options":[]}; var et_pb_box_shadow_elements = []; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/js/scripts.min.js?ver=4.22.0" id="divi-custom-script-js"></script> <script type="text/javascript" id="divi-custom-script-js-after"> /* <![CDATA[ */ (function($) { // Fix CLS issues with Divi modules $(window).on("load", function() { // Fix for Divi gallery causing layout shifts $(".et_pb_gallery").each(function() { var gallery = $(this); var firstImage = gallery.find(".et_pb_gallery_image:first"); if (firstImage.length) { gallery.css("min-height", firstImage.height() + "px"); } }); // Fix for Divi portfolio causing layout shifts $(".et_pb_portfolio").each(function() { var portfolio = $(this); var firstItem = portfolio.find(".et_pb_portfolio_item:first"); if (firstItem.length) { portfolio.css("min-height", firstItem.height() + "px"); } }); // Fix for Divi blog causing layout shifts $(".et_pb_blog_grid").each(function() { var blog = $(this); var firstItem = blog.find(".et_pb_post:first"); if (firstItem.length) { blog.css("min-height", firstItem.height() + "px"); } }); }); })(jQuery); /* ]]> */ </script> <script type="text/javascript" id="tve-dash-frontend-js-extra"> /* <![CDATA[ */ var tve_dash_front = {"ajaxurl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","force_ajax_send":"1","is_crawler":"","recaptcha":[],"turnstile":[],"post_id":"261404"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/thrive-leads/thrive-dashboard/js/dist/frontend.min.js?ver=10.3" id="tve-dash-frontend-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/jquery.fitvids.js?ver=4.22.0" id="fitvids-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-includes/js/comment-reply.min.js?ver=6.7.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/jquery.mobile.js?ver=4.22.0" id="jquery-mobile-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/magnific-popup.js?ver=4.22.0" id="magnific-popup-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/easypiechart.js?ver=4.22.0" id="easypiechart-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/salvattore.js?ver=4.22.0" id="salvattore-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/divi-modules-table-maker/extensions/divi-4/scripts/frontend-bundle.min.js?ver=3.1.2" id="divi-modules-table-maker-frontend-bundle-js"></script> <script type="text/javascript" id="jquery-lazyloadxt-js-extra"> /* <![CDATA[ */ var a3_lazyload_params = {"apply_images":"1","apply_videos":"1"}; /* ]]> */ </script> <script type="text/javascript" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extra.min.js?ver=2.7.3" id="jquery-lazyloadxt-js"></script> <script type="text/javascript" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.srcset.min.js?ver=2.7.3" id="jquery-lazyloadxt-srcset-js"></script> <script type="text/javascript" id="jquery-lazyloadxt-extend-js-extra"> /* <![CDATA[ */ var a3_lazyload_extend_params = {"edgeY":"0","horizontal_container_classnames":""}; /* ]]> */ </script> <script type="text/javascript" src="//objectbox.io/wordpress/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extend.js?ver=2.7.3" id="jquery-lazyloadxt-extend-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/core/admin/js/common.js?ver=4.22.0" id="et-core-common-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/divi-module-code-snippet/features/DBCSCopyToClipboardFeature/script.js?ver=1.4.4" id="dbcs-copy-to-clipboard-js"></script> <script type="text/javascript" id="mediaelement-core-js-before"> /* <![CDATA[ */ var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17" id="mediaelement-core-js"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-includes/js/mediaelement/mediaelement-migrate.min.js?ver=6.7.2" id="mediaelement-migrate-js"></script> <script type="text/javascript" id="mediaelement-js-extra"> /* <![CDATA[ */ var _wpmejsSettings = {"pluginPath":"\/wordpress\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-includes/js/mediaelement/wp-mediaelement.min.js?ver=6.7.2" id="wp-mediaelement-js"></script> <script type="text/javascript" id="urvanov_syntax_highlighter_js-js-extra"> /* <![CDATA[ */ var UrvanovSyntaxHighlighterSyntaxSettings = {"version":"2.8.34","is_admin":"0","ajaxurl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","prefix":"urvanov-syntax-highlighter-","setting":"urvanov-syntax-highlighter-setting","selected":"urvanov-syntax-highlighter-setting-selected","changed":"urvanov-syntax-highlighter-setting-changed","special":"urvanov-syntax-highlighter-setting-special","orig_value":"data-orig-value","debug":""}; var UrvanovSyntaxHighlighterSyntaxStrings = {"copy":"Copied to the clipboard","minimize":"Click To Expand Code"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/urvanov-syntax-highlighter/js/min/urvanov_syntax_highlighter.min.js?ver=2.8.34" id="urvanov_syntax_highlighter_js-js"></script> <script type="text/javascript" id="et-builder-modules-script-motion-js-extra"> /* <![CDATA[ */ var et_pb_motion_elements = {"desktop":[],"tablet":[],"phone":[]}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/motion-effects.js?ver=4.22.0" id="et-builder-modules-script-motion-js"></script> <script type="text/javascript" id="et-builder-modules-script-sticky-js-extra"> /* <![CDATA[ */ var et_pb_sticky_elements = {"et_pb_section_0_tb_header":{"id":"et_pb_section_0_tb_header","selector":".et_pb_section_0_tb_header","position":{"desktop":"top","tablet":"none","phone":"none"},"topOffset":"0px","bottomOffset":"0px","topLimit":"none","bottomLimit":"none","offsetSurrounding":"on","transition":"on","styles":{"module_alignment":{"desktop":"","tablet":"","phone":""},"positioning":"relative"},"stickyStyles":{"position_origin_r":"top_left","horizontal_offset":"","vertical_offset":""}}}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/js/sticky-elements.js?ver=4.22.0" id="et-builder-modules-script-sticky-js"></script> <script type="text/javascript">var tcb_current_post_lists=JSON.parse('[]'); var tcb_post_lists=tcb_post_lists?[...tcb_post_lists,...tcb_current_post_lists]:tcb_current_post_lists;</script><script type="text/javascript">/*<![CDATA[*/if ( !window.TL_Const ) {var TL_Const={"security":"2a35e9e8f3","ajax_url":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","forms":[],"action_conversion":"tve_leads_ajax_conversion","action_impression":"tve_leads_ajax_impression","ajax_load":0,"custom_post_data":[],"current_screen":{"screen_type":6,"screen_id":0},"ignored_fields":["email","_captcha_size","_captcha_theme","_captcha_type","_submit_option","_use_captcha","g-recaptcha-response","__tcb_lg_fc","__tcb_lg_msg","_state","_form_type","_error_message_option","_back_url","_submit_option","url","_asset_group","_asset_option","mailchimp_optin","tcb_token","tve_labels","tve_mapping","_api_custom_fields","_sendParams","_autofill"]};} else { window.TL_Front && TL_Front.extendConst && TL_Front.extendConst({"security":"2a35e9e8f3","ajax_url":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","forms":[],"action_conversion":"tve_leads_ajax_conversion","action_impression":"tve_leads_ajax_impression","ajax_load":0,"custom_post_data":[],"current_screen":{"screen_type":6,"screen_id":0},"ignored_fields":["email","_captcha_size","_captcha_theme","_captcha_type","_submit_option","_use_captcha","g-recaptcha-response","__tcb_lg_fc","__tcb_lg_msg","_state","_form_type","_error_message_option","_back_url","_submit_option","url","_asset_group","_asset_option","mailchimp_optin","tcb_token","tve_labels","tve_mapping","_api_custom_fields","_sendParams","_autofill"]})} /*]]> */</script><style id="et-builder-module-design-261404-cached-inline-styles">.et_pb_section_0.et_pb_section{padding-top:0px}.et_pb_row_0:before,.et_pb_row_1:before,.et_pb_row_2:before,.et_pb_row_3:before,.et_pb_row_4:before,.et_pb_row_5:before,.et_pb_row_6:before,.et_pb_row_7:before,.et_pb_row_8:before,.et_pb_row_9:before,.et_pb_row_10:before,.et_pb_row_11:before,.et_pb_row_12:before,.et_pb_row_13:before,.et_pb_row_14:before,.et_pb_row_15:before,.et_pb_row_16:before,.et_pb_row_17:before,.et_pb_row_18:before,.et_pb_row_19:before,.et_pb_row_20:before,.et_pb_row_21:before,.et_pb_row_22:before{@media only screen and (min-width:981px){.et_pb_column_0{width:15%!important}.et_pb_column_1{width:15%!important}.et_pb_column_2{width:40%!important}.et_pb_column_3{width:15%!important}.et_pb_column_4{width:15%!important}}}.et_pb_text_0{margin-bottom:20px!important}.et_pb_text_1{margin-bottom:9px!important}.et_pb_text_2{padding-bottom:0px!important;margin-bottom:-4px!important}.et_pb_text_3{margin-top:-17px!important}.et_pb_image_0{margin-top:-7px!important;width:89%;text-align:left;margin-left:0}.et_pb_row_2.et_pb_row,.et_pb_row_3.et_pb_row{padding-top:0px!important;padding-top:0px}.et_pb_image_1{width:75%;text-align:center}.et_pb_text_5{margin-bottom:35px!important}.et_pb_image_2{margin-bottom:10px!important;text-align:center}.et_pb_text_8{font-weight:700;font-size:12px}.et_pb_text_9{margin-bottom:40px!important}.et_pb_text_10 h3{font-size:24px}.et_pb_text_11 h4{font-weight:700;font-size:16px;line-height:1.4em}.et_pb_text_12{margin-top:-7px!important}.et_pb_text_13 h4,.et_pb_text_15 h4{font-size:16px;line-height:1.4em}.et_pb_text_13{margin-bottom:43px!important}.et_pb_text_14{margin-top:-5px!important}.et_pb_text_15{padding-bottom:0px!important;margin-bottom:12px!important}.et_pb_video_0,.et_pb_video_0 iframe{border-radius:5px 5px 5px 5px;overflow:hidden}.et_pb_video_0{border-width:5px}.et_pb_video_0 .et_pb_video_overlay .et_pb_video_play{color:#393939}.et_pb_video_0 .et_pb_video_overlay_hover:hover{background-color:rgba(255,255,255,0.52)}.et_pb_text_17{margin-top:20px!important;margin-bottom:13px!important}.et_pb_row_7.et_pb_row{margin-top:-2px!important;margin-right:auto!important;margin-left:auto!important}.et_pb_image_3,.et_pb_image_4{text-align:left;margin-left:0}.et_pb_row_8.et_pb_row{padding-bottom:1px!important;padding-bottom:1px}.et_pb_row_9.et_pb_row{margin-top:-3px!important;margin-right:auto!important;margin-left:auto!important}.et_pb_text_22{margin-bottom:12px!important}.et_pb_row_11.et_pb_row{margin-right:auto!important;margin-bottom:8px!important;margin-left:auto!important}.et_pb_text_25{margin-top:4px!important}.et_pb_blurb_0 .et_pb_blurb_content,.et_pb_blurb_1 .et_pb_blurb_content,.et_pb_blurb_2 .et_pb_blurb_content{max-width:800px}.et_pb_button_0_wrapper .et_pb_button_0,.et_pb_button_0_wrapper .et_pb_button_0:hover{padding-top:14px!important;padding-right:24px!important;padding-bottom:14px!important;padding-left:24px!important}body #page-container .et_pb_section .et_pb_button_0{color:#ffffff!important;border-width:2px!important;border-color:#17a6a6;border-radius:100px;font-size:18px;font-family:'Archivo',sans-serif!important;font-weight:500!important;text-transform:uppercase!important;background-color:#17a6a6}body #page-container .et_pb_section .et_pb_button_0:hover:after{margin-left:.3em;left:auto;margin-left:.3em;opacity:1}body #page-container .et_pb_section .et_pb_button_0:after{line-height:inherit;font-size:inherit!important;margin-left:-1em;left:auto;font-family:ETmodules!important;font-weight:400!important}body #page-container .et_pb_section .et_pb_button_0:hover{background-image:initial;background-color:#17a6a6}.et_pb_button_0{transition:background-color 300ms ease 0ms}.et_pb_button_0,.et_pb_button_0:after{transition:all 300ms ease 0ms}.et_pb_row_15.et_pb_row{padding-top:32px!important;padding-top:32px}.et_pb_divider_0:before{border-top-color:#393939}.et_pb_text_28{line-height:0.8em;font-size:10px;line-height:0.8em}.et_pb_section_1.et_pb_section{padding-top:5px}.et_pb_row_17.et_pb_row{padding-bottom:9px!important;padding-bottom:9px}.et_pb_text_29{margin-top:-31px!important}.et_pb_image_5{margin-right:9px!important;text-align:center}.et_pb_row_19.et_pb_row{padding-bottom:8px!important;padding-bottom:8px}.et_pb_image_6{margin-top:-29px!important;margin-bottom:-2px!important;text-align:left;margin-left:0}.et_pb_row_20.et_pb_row{padding-top:7px!important;padding-bottom:0px!important;padding-top:7px;padding-bottom:0px}.et_pb_row_21.et_pb_row{padding-bottom:0px!important;padding-bottom:0px}.et_pb_text_36{margin-bottom:0px!important}.et_pb_text_39{margin-top:-29px!important;margin-bottom:4px!important}.et_pb_image_7{margin-top:-19px!important;text-align:left;margin-left:0}.et_pb_text_42{padding-top:8px!important;margin-top:-29px!important}.ba_logo_grid_child_0 .dtq-logo-grid__item,.ba_logo_grid_child_1 .dtq-logo-grid__item,.ba_logo_grid_child_2 .dtq-logo-grid__item,.ba_logo_grid_child_3 .dtq-logo-grid__item,.ba_logo_grid_child_4 .dtq-logo-grid__item,.ba_logo_grid_child_5 .dtq-logo-grid__item,.ba_logo_grid_child_6 .dtq-logo-grid__item,.ba_logo_grid_child_7 .dtq-logo-grid__item,.ba_logo_grid_child_8 .dtq-logo-grid__item{background-color:#e2e5ed!important;padding-top:50px!important;padding-right:50px!important;padding-bottom:50px!important;padding-left:50px!important}.et_pb_image_0.et_pb_module,.et_pb_image_1.et_pb_module,.et_pb_image_2.et_pb_module,.et_pb_video_0.et_pb_module{margin-left:auto!important;margin-right:auto!important}@media only screen and (min-width:981px){.et_pb_image_2{width:75%}.et_pb_video_0{width:70%}}@media only screen and (max-width:980px){.et_pb_image_0 .et_pb_image_wrap img,.et_pb_image_1 .et_pb_image_wrap img,.et_pb_image_2 .et_pb_image_wrap img,.et_pb_image_3 .et_pb_image_wrap img,.et_pb_image_4 .et_pb_image_wrap img,.et_pb_image_5 .et_pb_image_wrap img,.et_pb_image_6 .et_pb_image_wrap img,.et_pb_image_7 .et_pb_image_wrap img{width:auto}.et_pb_image_2{width:88%}.et_pb_text_13{margin-bottom:0px!important}body #page-container .et_pb_section .et_pb_button_0:after{line-height:inherit;font-size:inherit!important;margin-left:-1em;left:auto;display:inline-block;opacity:0;content:attr(data-icon);font-family:ETmodules!important;font-weight:400!important}body #page-container .et_pb_section .et_pb_button_0:before{display:none}body #page-container .et_pb_section .et_pb_button_0:hover:after{margin-left:.3em;left:auto;margin-left:.3em;opacity:1}}@media only screen and (max-width:767px){.et_pb_image_0 .et_pb_image_wrap img,.et_pb_image_1 .et_pb_image_wrap img,.et_pb_image_2 .et_pb_image_wrap img,.et_pb_image_3 .et_pb_image_wrap img,.et_pb_image_4 .et_pb_image_wrap img,.et_pb_image_5 .et_pb_image_wrap img,.et_pb_image_6 .et_pb_image_wrap img,.et_pb_image_7 .et_pb_image_wrap img{width:auto}.et_pb_image_2{width:100%}.et_pb_text_13{margin-bottom:0px!important}.et_pb_video_0{width:95%}body #page-container .et_pb_section .et_pb_button_0:after{line-height:inherit;font-size:inherit!important;margin-left:-1em;left:auto;display:inline-block;opacity:0;content:attr(data-icon);font-family:ETmodules!important;font-weight:400!important}body #page-container .et_pb_section .et_pb_button_0:before{display:none}body #page-container .et_pb_section .et_pb_button_0:hover:after{margin-left:.3em;left:auto;margin-left:.3em;opacity:1}}</style><style id="et-builder-module-design-256727-cached-inline-styles">.et_pb_section_0_tb_header{border-bottom-width:1px;margin-bottom:-11px;z-index:10;box-shadow:0px 2px 18px 0px rgba(0,0,0,0.1)}.et_pb_section_0_tb_header.et_pb_section{padding-top:0px;padding-bottom:0px;background-color:#1B1815!important}.et_pb_sticky.et_pb_section_0_tb_header{box-shadow:0px 2px 18px 0px rgba(0,0,0,0.1);box-shadow:0px 5px 80px rgba(0,0,0,0.1)!important}.et_pb_row_0_tb_header:before{@media only screen and (min-width:981px){.et_pb_column_0{width:15%!important}.et_pb_column_1{width:15%!important}.et_pb_column_2{width:40%!important}.et_pb_column_3{width:15%!important}.et_pb_column_4{width:15%!important}}}.et_pb_row_0_tb_header{display:flex;align-items:center;flex-wrap:wrap}.et_pb_code_0_tb_header,.et_pb_code_1_tb_header{padding-top:0px;padding-bottom:0px;margin-top:0px!important;margin-bottom:0px!important}.et_pb_menu_0_tb_header.et_pb_menu ul li a{font-weight:500;font-size:15px;color:#ffffff!important}.et_pb_menu_0_tb_header.et_pb_menu{background-color:rgba(0,0,0,0)}.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap .et_pb_menu__logo img{border-top-color:#1B1815;width:auto}.et_pb_menu_0_tb_header{padding-top:10px;padding-right:0px;margin-right:840px!important;margin-bottom:0px!important}.et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li ul.sub-menu{border-width:2px;border-radius:5px;left:auto!important;padding:0;right:0;width:200px}.et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li ul.sub-menu a{padding:12px 20px}.et_pb_menu_0_tb_header.et_pb_menu .et_pb_menu__logo{margin-bottom:10px}.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a{color:#ffffff!important}.et_pb_menu_0_tb_header.et_pb_menu .nav li ul{background-color:#393939!important;border-color:#ffffff}.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu{border-color:#ffffff}.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu a,.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu a{color:#F7F7F7!important}.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.current-menu-item a{color:#17A6A6!important}.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu,.et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu ul{background-color:#383838!important}.et_pb_menu_0_tb_header .et_pb_menu_inner_container>.et_pb_menu__logo-wrap,.et_pb_menu_0_tb_header .et_pb_menu__logo-slot{width:auto;max-width:100%}.et_pb_menu_0_tb_header .et_pb_menu_inner_container>.et_pb_menu__logo-wrap .et_pb_menu__logo img,.et_pb_menu_0_tb_header .et_pb_menu__logo-slot .et_pb_menu__logo-wrap img{height:35px;max-height:none}.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before{color:#ffffff}.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button,.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button,.et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button{color:#17a6a6}.et_pb_button_0_tb_header_wrapper .et_pb_button_0_tb_header,.et_pb_button_0_tb_header_wrapper .et_pb_button_0_tb_header:hover{padding-top:9px!important;padding-right:10px!important;padding-bottom:9px!important;padding-left:29px!important}.et_pb_button_0_tb_header_wrapper{margin-top:4px!important;margin-right:7px!important;margin-bottom:0px!important}body #page-container .et_pb_section .et_pb_button_0_tb_header{color:#BCBCBC!important;border-width:0px!important;border-color:RGBA(255,255,255,0);border-radius:8px;letter-spacing:0px;font-size:14px;background-color:RGBA(255,255,255,0)}body #page-container .et_pb_section .et_pb_button_0_tb_header:hover{color:#ffffff!important;border-color:#17A6A6!important;border-width:1px!important;background-image:initial;background-color:RGBA(255,255,255,0)}body #page-container .et_pb_section .et_pb_button_0_tb_header:after{display:none}body #page-container .et_pb_section .et_pb_button_0_tb_header:before{content:attr(data-icon);font-family:FontAwesome!important;font-weight:400!important;color:#F7F7F7;line-height:inherit;font-size:inherit!important;opacity:1;margin-left:-1.3em;right:auto;display:inline-block;font-family:FontAwesome!important;font-weight:400!important}body #page-container .et_pb_section .et_pb_button_0_tb_header:hover:before{margin-left:.3em;right:auto;margin-left:-1.3em}.et_pb_button_0_tb_header,.et_pb_button_1_tb_header{transition:color 300ms ease 0ms,background-color 300ms ease 0ms,border 300ms ease 0ms}.et_pb_button_0_tb_header,.et_pb_button_0_tb_header:after,.et_pb_button_1_tb_header,.et_pb_button_1_tb_header:after{transition:all 300ms ease 0ms}.et_pb_button_1_tb_header_wrapper .et_pb_button_1_tb_header,.et_pb_button_1_tb_header_wrapper .et_pb_button_1_tb_header:hover{padding-top:7px!important;padding-right:21px!important;padding-bottom:7px!important;padding-left:21px!important}.et_pb_button_1_tb_header_wrapper{margin-top:5px!important;margin-bottom:0px!important}body #page-container .et_pb_section .et_pb_button_1_tb_header{color:#F7F7F7!important;border-width:1px!important;border-color:#17A6A6;border-radius:8px;letter-spacing:0px;font-size:15px;background-image:linear-gradient(195deg,#17a6a6 24%,#006e70 100%);background-color:RGBA(255,255,255,0)}body #page-container .et_pb_section .et_pb_button_1_tb_header:hover{color:#ffffff!important;border-color:#23ffec!important;background-image:linear-gradient(195deg,#1cdddd 0%,#129694 100%);background-color:#ffffff}body #page-container .et_pb_section .et_pb_button_1_tb_header:before,body #page-container .et_pb_section .et_pb_button_1_tb_header:after{display:none!important}.et_pb_row_0_tb_header.et_pb_row{padding-top:0px!important;padding-bottom:0px!important;margin-left:auto!important;margin-right:auto!important;padding-top:0px;padding-bottom:0px}.et_pb_menu_0_tb_header.et_pb_module{margin-left:auto!important;margin-right:auto!important}@media only screen and (min-width:981px){.et_pb_row_0_tb_header,body #page-container .et-db #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row,body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row,body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row{width:95%}.et_pb_column_1_tb_header{display:flex;justify-content:flex-end}}@media only screen and (max-width:980px){.et_pb_section_0_tb_header{border-bottom-width:1px}.et_pb_row_0_tb_header,body #page-container .et-db #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row,body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row,body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row,.et_pb_button_0_tb_header,.et_pb_button_1_tb_header{width:100%}.et_pb_column_0_tb_header{order:2;margin-bottom:0}.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap .et_pb_menu__logo img{border-top-color:#1B1815}.et_pb_menu_0_tb_header{padding-top:10px;padding-right:0px;padding-bottom:0px;width:80%}.et_pb_column_1_tb_header{order:1}.et_pb_button_0_tb_header_wrapper{margin-right:0px!important}body #page-container .et_pb_section .et_pb_button_0_tb_header,body #page-container .et_pb_section .et_pb_button_1_tb_header{border-radius:0px}body #page-container .et_pb_section .et_pb_button_0_tb_header:before{line-height:inherit;font-size:inherit!important;margin-left:-1.3em;right:auto;display:inline-block;opacity:1;content:attr(data-icon);font-family:FontAwesome!important;font-weight:400!important}body #page-container .et_pb_section .et_pb_button_0_tb_header:after{display:none}body #page-container .et_pb_section .et_pb_button_0_tb_header:hover:before{margin-left:.3em;right:auto;margin-left:-1.3em}}@media only screen and (min-width:768px) and (max-width:980px){.et_pb_button_0_tb_header,.et_pb_button_1_tb_header{display:none!important}}@media only screen and (max-width:767px){.et_pb_section_0_tb_header{border-bottom-width:1px}.et_pb_column_0_tb_header{order:2;margin-bottom:0}.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap .et_pb_menu__logo img{border-top-color:#1B1815}.et_pb_menu_0_tb_header{width:90%}.et_pb_column_1_tb_header{order:1}body #page-container .et_pb_section .et_pb_button_0_tb_header:before{line-height:inherit;font-size:inherit!important;margin-left:-1.3em;right:auto;display:inline-block;opacity:1;content:attr(data-icon);font-family:FontAwesome!important;font-weight:400!important}body #page-container .et_pb_section .et_pb_button_0_tb_header:after{display:none}body #page-container .et_pb_section .et_pb_button_0_tb_header:hover:before{margin-left:.3em;right:auto;margin-left:-1.3em}.et_pb_button_0_tb_header,.et_pb_button_1_tb_header{width:100%;display:none!important}}</style> <script> (function() { // Disable animations that cause CLS document.addEventListener('DOMContentLoaded', function() { // Find elements with animations that might cause CLS const animatedElements = document.querySelectorAll('.et-waypoint, .et_pb_animation_top, .et_pb_animation_bottom, .et_pb_animation_left, .et_pb_animation_right'); // Remove animation classes animatedElements.forEach(function(element) { element.classList.remove('et-waypoint', 'et_pb_animation_top', 'et_pb_animation_bottom', 'et_pb_animation_left', 'et_pb_animation_right'); element.style.opacity = '1'; element.style.transform = 'none'; }); // Fix for Divi sliders const sliders = document.querySelectorAll('.et_pb_slider'); sliders.forEach(function(slider) { // Set fixed height based on the first slide const firstSlide = slider.querySelector('.et_pb_slide'); if (firstSlide) { const slideHeight = firstSlide.offsetHeight; slider.style.height = slideHeight + 'px'; } }); // Fix for images without dimensions const images = document.querySelectorAll('img:not([width]):not([height])'); images.forEach(function(img) { if (img.naturalWidth && img.naturalHeight) { img.setAttribute('width', img.naturalWidth); img.setAttribute('height', img.naturalHeight); img.style.aspectRatio = img.naturalWidth + '/' + img.naturalHeight; } }); }); })(); </script> <script> (function() { document.addEventListener('DOMContentLoaded', function() { const animatedElements = document.querySelectorAll( '.et-waypoint, .et_pb_animation_top, .et_pb_animation_bottom, .et_pb_animation_left, .et_pb_animation_right' ); animatedElements.forEach(el => { el.classList.remove( 'et-waypoint', 'et_pb_animation_top', 'et_pb_animation_bottom', 'et_pb_animation_left', 'et_pb_animation_right' ); el.style.opacity = '1'; el.style.transform = 'none'; }); // Fix for sliders const sliders = document.querySelectorAll('.et_pb_slider'); sliders.forEach(slider => { const firstSlide = slider.querySelector('.et_pb_slide'); if (firstSlide) { slider.style.minHeight = firstSlide.offsetHeight + 'px'; } }); // Fix images without dimensions const imgs = document.querySelectorAll('img:not([width]):not([height])'); imgs.forEach(img => { if (img.naturalWidth && img.naturalHeight) { img.setAttribute('width', img.naturalWidth); img.setAttribute('height', img.naturalHeight); img.style.aspectRatio = img.naturalWidth + '/' + img.naturalHeight; } }); }); })(); </script> <!-- Cookie Notice plugin v2.5.6 by Hu-manity.co https://hu-manity.co/ --> <div id="cookie-notice" role="dialog" class="cookie-notice-hidden cookie-revoke-hidden cn-position-top" aria-label="Cookie Notice" style="background-color: rgba(50,50,58,1);"><div class="cookie-notice-container" style="color: #fff"><span id="cn-notice-text" class="cn-text-container">We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.</span><span id="cn-notice-buttons" class="cn-buttons-container"><a href="#" id="cn-accept-cookie" data-cookie-set="accept" class="cn-set-cookie cn-button cn-button-custom button" aria-label="Ok">Ok</a></span><span id="cn-close-notice" data-cookie-set="accept" class="cn-close-icon" title="No"></span></div> </div> <!-- / Cookie Notice plugin --> <span class="et_pb_scroll_top et-pb-icon"></span> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10