CINXE.COM
Mobile Database Archives - ObjectBox
<!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' /> <!-- This site is optimized with the Yoast SEO plugin v23.7 - https://yoast.com/wordpress/plugins/seo/ --> <title>Mobile Database Archives - ObjectBox</title> <meta name="description" content="ObjectBox is an embedded, object-oriented database for Mobile Apps and IoT. Our NoSQL, ACID-compliant DB is 10x faster than any alternative" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Mobile Database Archives - ObjectBox" /> <meta property="og:description" content="ObjectBox is an embedded, object-oriented database for Mobile Apps and IoT. Our NoSQL, ACID-compliant DB is 10x faster than any alternative" /> <meta property="og:url" content="https://objectbox.io/category/mobile-database/" /> <meta property="og:site_name" content="ObjectBox" /> <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":"CollectionPage","@id":"https://objectbox.io/category/mobile-database/","url":"https://objectbox.io/category/mobile-database/","name":"Mobile Database Archives - ObjectBox","isPartOf":{"@id":"https://objectbox.io/#website"},"primaryImageOfPage":{"@id":"https://objectbox.io/category/mobile-database/#primaryimage"},"image":{"@id":"https://objectbox.io/category/mobile-database/#primaryimage"},"thumbnailUrl":"https://objectbox.io/wordpress/wp-content/uploads/2025/02/DataSyncAlternatives2025.jpg","description":"ObjectBox is an embedded, object-oriented database for Mobile Apps and IoT. Our NoSQL, ACID-compliant DB is 10x faster than any alternative","breadcrumb":{"@id":"https://objectbox.io/category/mobile-database/#breadcrumb"},"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://objectbox.io/category/mobile-database/#primaryimage","url":"https://objectbox.io/wordpress/wp-content/uploads/2025/02/DataSyncAlternatives2025.jpg","contentUrl":"https://objectbox.io/wordpress/wp-content/uploads/2025/02/DataSyncAlternatives2025.jpg","width":2000,"height":1158,"caption":"Data Sync Alternatives"},{"@type":"BreadcrumbList","@id":"https://objectbox.io/category/mobile-database/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"ObjectBox","item":"https://objectbox.io/"},{"@type":"ListItem","position":2,"name":"Mobile Database"}]},{"@type":"WebSite","@id":"https://objectbox.io/#website","url":"https://objectbox.io/","name":"ObjectBox","description":"Fast on-Device database with vector search for Mobike, IoT & other embedded device","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"]}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel="alternate" type="application/rss+xml" title="ObjectBox » Feed" href="https://objectbox.io/feed/" /> <link rel="alternate" type="application/rss+xml" title="ObjectBox » Comments Feed" href="https://objectbox.io/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="ObjectBox » Mobile Database Category Feed" href="https://objectbox.io/category/mobile-database/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.5.5"}}; /*! 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='validate-engine-css-css' href='https://objectbox.io/wordpress/wp-content/plugins/wysija-newsletters/css/validationEngine.jquery.css?ver=2.22' 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.5.5' type='text/css' media='all' /> <style id='wp-block-library-theme-inline-css' type='text/css'> .wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio 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 figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed 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}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .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.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.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 figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}.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'> body{--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--font-family--inter: "Inter", sans-serif;--wp--preset--font-family--cardo: Cardo;--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);}body { margin: 0;--wp--style--global--content-size: 823px;--wp--style--global--wide-size: 1080px; }.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;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .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;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){text-decoration: underline;}.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;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-cardo-font-family{font-family: var(--wp--preset--font-family--cardo) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :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;} .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.4.18' 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='woocommerce-layout-css' href='https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=9.3.3' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-smallscreen-css' href='https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=9.3.3' type='text/css' media='only screen and (max-width: 768px)' /> <link rel='stylesheet' id='woocommerce-general-css' href='https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=9.3.3' type='text/css' media='all' /> <style id='woocommerce-inline-inline-css' type='text/css'> .woocommerce form .form-row .required { visibility: visible; } </style> <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='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> <link rel='stylesheet' id='select2-css' href='https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/css/select2.css?ver=9.3.3' type='text/css' media='all' /> <script type="text/javascript" id="cookie-notice-front-js-before"> /* <![CDATA[ */ var cnArgs = {"ajaxUrl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","nonce":"58ad0bc806","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.4.18" 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> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.9.3.3" id="jquery-blockui-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="wc-add-to-cart-js-extra"> /* <![CDATA[ */ var wc_add_to_cart_params = {"ajax_url":"\/wordpress\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https:\/\/objectbox.io\/?page_id=37328","is_cart":"","cart_redirect_after_add":"no"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=9.3.3" id="wc-add-to-cart-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.9.3.3" id="js-cookie-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="woocommerce-js-extra"> /* <![CDATA[ */ var woocommerce_params = {"ajax_url":"\/wordpress\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%"}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=9.3.3" id="woocommerce-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/selectWoo/selectWoo.full.min.js?ver=1.0.9-wc.9.3.3" id="selectWoo-js" defer="defer" data-wp-strategy="defer"></script> <link rel="https://api.w.org/" href="https://objectbox.io/wp-json/" /><link rel="alternate" type="application/json" href="https://objectbox.io/wp-json/wp/v2/categories/8" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://objectbox.io/wordpress/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.5.5" /> <meta name="generator" content="WooCommerce 9.3.3" /> <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> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.66--> <script class="hsq-set-content-id" data-content-id="listing-page"> var _hsq = _hsq || []; _hsq.push(["setContentType", "listing-page"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <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=4E043813729F0B5869B0D3763A39576C'); </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/9c42c6517fbe803222baa3cb9f4c2144?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/DataSyncAlternatives2025.jpg);}</style> <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> <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: 'category',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> <!-- GitHub Buttons. --> <!-- <script async defer src="https://buttons.github.io/buttons.js"></script> --><style id='wp-fonts-local' type='text/css'> @font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:fallback;src:url('https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/fonts/Inter-VariableFont_slnt,wght.woff2') format('woff2');font-stretch:normal;} @font-face{font-family:Cardo;font-style:normal;font-weight:400;font-display:fallback;src:url('https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/fonts/cardo_normal_400.woff2') format('woff2');} </style> <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=1738930448" /></head> <body class="archive category category-mobile-database category-8 custom-background theme-Divi et-tb-has-template et-tb-has-header cookies-not-set woocommerce-no-js 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="{"schema":{"attrs":{"desktop":{"src":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2024\/09\/logo-white-500pxf.png","alt":"","class":"wp-image-259569"},"tablet":{"src":"https:\/\/objectbox.io\/wordpress\/wp-content\/uploads\/2021\/01\/logo-white-500px-300x72.png"}}},"slug":"et_pb_menu","hover_selector":".et_pb_menu_0_tb_header .et_pb_menu__logo-wrap .et_pb_menu__logo img"}" /></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 title="Embedded Database for Embedded Devices" href="https://objectbox.io/embedded-database/">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 title="Android Database" 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="">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-261266" class="et_pb_post post-261266 post type-post status-publish format-standard has-post-thumbnail hentry category-data-sync category-edge-database category-mobile-database category-objectbox category-open-source category-sqlite tag-data-sync"> <a class="entry-featured-image-url" href="https://objectbox.io/data-sync-alternatives-offline-vs-online-solutions/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2025/02/DataSyncAlternatives2025-1080x675.jpg" alt="Data Sync Alternatives: Offline vs. Online Solutions" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/data-sync-alternatives-offline-vs-online-solutions/">Data Sync Alternatives: Offline vs. Online Solutions</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/anastasia/" title="Posts by Anastasia" rel="author">Anastasia</a></span> | <span class="published">Feb 5, 2025</span> | <a href="https://objectbox.io/category/data-sync/" rel="category tag">Data Sync</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/mobile-database/objectbox/" rel="category tag">ObjectBox</a>, <a href="https://objectbox.io/category/open-source/" rel="category tag">Open Source</a>, <a href="https://objectbox.io/category/mobile-database/sqlite/" rel="category tag">SQlite</a></p><p>Ever waited to order or pay in a restaurant with a waiter holding his ordering device high up into the air, searching for connectivity, or wanted to use an app These moments show why data synchronization is essential. With more and more services relying on the availability of on-device apps and the <a href="https://www.statista.com/outlook/tmo/internet-of-things/worldwide#revenue">IoT market projected to hit $1.1 trillion by 2026</a>, choosing the right solution – online or offline sync – is more crucial than ever. In this blog, we discuss their differences and highlight common Data Sync alternatives.</p><h2 class="wp-block-heading">What is Data Sync?</h2><p><a href="https://objectbox.io/what-is-data-synchronization-how-to-keep-data-in-sync/"><strong>Data synchronization (Sync)</strong></a> aligns data between two or more devices to maintain consistency over time. It is an essential component in applications ranging from IoT and mobile apps to cloud computing. Challenges in data synchronization include <a href="https://en.wikipedia.org/wiki/Asynchrony_(computer_programming)">asynchrony</a>, conflicts, and managing data across flaky networks.</p><h3 class="wp-block-heading">Data Sync vs. Data Replication</h3><p>Data Synchronization is often confused with Data Replication. Nevertheless, they serve different purposes:</p><ul><li><strong>Data Replication</strong>: A unidirectional process (works in one direction only) that duplicates data across storage locations to ensure availability and prevent loss. It is simple but limited in its application, and efficiency, and lacks conflict management.</li> <li><strong>Data Synchronization</strong>: A <a href="https://medium.com/@vivien_44789/a-developers-guide-to-bi-directional-data-sync-for-mobile-and-iot-apps-8254d8ff70dd">bidirectional process</a> that harmonizes all or a subset of data between two or more devices. It ensures consistency across devices and entails conflict resolution. It is inherently more complex but also more flexible.</li></ul><h2 class="wp-block-heading">Online vs Offline Solutions: Why Offline Sync Matters</h2><p><strong>Online-only </strong>synchronization solutions rely entirely on cloud infrastructure, requiring a stable internet connection to function. While these tools offer simplicity and scalability, their dependency on constant cloud connectivity brings limitations: Online Data Sync solutions cannot guarantee response rates and their speed varies depending on the network. They do not work when offline or in on-premise settings. Using an Online Sync solution often entails sharing the data and might not comply with data privacy requirements. So, do read the terms and conditions.</p><p><strong>Offline-first </strong>solutions (offline Sync) focus on local data storage and processing, ensuring the app remains fully functional even without an internet connection. When a network is available, the app synchronizes seamlessly with a server, the cloud, or other devices as needed. These solutions are ideal for on-premise scenarios with unreliable or no internet access, mission-critical applications that must always operate, real-time and high-performance use cases, as well as situations requiring high data privacy and data security compliance.</p><p>A less discussed, but in our view also relevant point, is sustainability. While there might be exceptions depending on the use case, for most applications offline-first solutions are more resourceful and therefore more sustainable. If CO2 footprint or battery usage is of concern to you, you might want to look into offline-first Data Sync alternatives.</p><p>Now, let’s have a look at current options:</p><h2 class="wp-block-heading">Data Sync Alternatives</h2><p>(If you are on mobile, <a href="http://objectbox.io/2025SyncAlternatives.htm">click here for a view that’s optimized for mobile</a>)</p><div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex"><div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%"><style> #scrollable-table { overflow-x: auto; overflow-y: auto; max-height: 800px; /* Adjust as needed */ max-width: 100%; /* Adjust as needed */ } </style> <div id="scrollable-table" align="center"> <table border="0" cellpadding="0" cellspacing="0" width="1407" style='border-collapse: collapse; table-layout: fixed; width: 1056pt'> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=Excel.Sheet> <meta name=Generator content="Microsoft Excel 15"> <link rel=File-List href="SyncAlternatives_files/filelist.xml"> <style id="Updated Sync Matrix for the blog_12750_Styles"> <!--table {mso-displayed-decimal-separator:"\,"; mso-displayed-thousand-separator:"\.";} .font512750 {color:#1155CC; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:underline; text-underline-style:single; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0;} .font612750 {color:windowtext; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0;} .xl1512750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Arial; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:general; vertical-align:bottom; mso-background-source:auto; mso-pattern:auto; white-space:nowrap;} .xl6512750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:11.0pt; font-weight:700; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:#46BDC6; mso-pattern:#46BDC6 none; white-space:normal;} .xl6612750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:blue; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:underline; text-underline-style:single; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; mso-background-source:auto; mso-pattern:auto; white-space:normal;} .xl6712750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; mso-background-source:auto; mso-pattern:auto; white-space:normal;} .xl6812750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:#292A2E; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; mso-background-source:auto; mso-pattern:auto; white-space:normal;} .xl6912750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; mso-background-source:auto; mso-pattern:auto; white-space:nowrap;} .xl7012750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:blue; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:underline; text-underline-style:single; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:#9EF0F6; mso-pattern:#9EF0F6 none; white-space:normal;} .xl7112750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:#292A2E; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:#9EF0F6; mso-pattern:#9EF0F6 none; white-space:normal;} .xl7212750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:#9EF0F6; mso-pattern:#9EF0F6 none; white-space:normal;} .xl7312750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:#9EF0F6; mso-pattern:#9EF0F6 none; white-space:nowrap;} .xl7412750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:#292A2E; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:white; mso-pattern:white none; white-space:normal;} .xl7512750 {padding-top:1px; padding-right:1px; padding-left:1px; mso-ignore:padding; color:black; font-size:10.0pt; font-weight:400; font-style:normal; text-decoration:none; font-family:Roboto; mso-generic-font-family:auto; mso-font-charset:0; mso-number-format:General; text-align:center; vertical-align:middle; border:.5pt solid black; background:#9EF0F6; mso-pattern:#9EF0F6 none; white-space:normal;} --> </style> </head> <body> <!--[if !excel]> <![endif]--> <!--The following information was generated by Microsoft Excel's Publish as Web Page wizard.--> <!--If the same item is republished from Excel, all information between the DIV tags will be replaced.--> <!-----------------------------> <!--START OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD --> <!-----------------------------> <div id="Updated Sync Matrix for the blog_12750" align=center x:publishsource="Excel"> <table border=0 cellpadding=0 cellspacing=0 width=1407 style='border-collapse: collapse;table-layout:fixed;width:1056pt'> <col width=88 span=5 style='width:66pt'> <col width=116 style='mso-width-source:userset;mso-width-alt:4242;width:87pt'> <col width=88 span=2 style='width:66pt'> <col width=134 style='mso-width-source:userset;mso-width-alt:4900;width:101pt'> <col width=88 span=2 style='width:66pt'> <col width=154 style='mso-width-source:userset;mso-width-alt:5632;width:116pt'> <col width=123 style='mso-width-source:userset;mso-width-alt:4498;width:92pt'> <col width=88 style='width:66pt'> <tr height=60 style='height:45.0pt'> <td height=60 class=xl6512750 width=88 style='height:45.0pt;width:66pt'>Solution</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Company</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Type</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Offline Support</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Self-hosted Sync</td> <td class=xl6512750 width=116 style='border-left:none;width:87pt'>Decentralized Sync</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Database</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Type of DB</td> <td class=xl6512750 width=134 style='border-left:none;width:101pt'>OS/Platforms</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Languages</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Open-Source Component</td> <td class=xl6512750 width=154 style='border-left:none;width:116pt'>License</td> <td class=xl6512750 width=123 style='border-left:none;width:92pt'>Other Considerations</td> <td class=xl6512750 width=88 style='border-left:none;width:66pt'>Country</td> </tr> <tr height=170 style='height:127.5pt'> <td height=170 class=xl6612750 width=88 style='height:127.5pt;border-top: none;width:66pt'><a href="https://en.wikipedia.org/wiki/Firebase"><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">Firebase</font></span></a></td> <td class=xl6612750 width=88 style='border-top:none;border-left:none; width:66pt'><a href="https://en.wikipedia.org/wiki/Firebase"><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">Google</font><font class="font612750"><br> </font><font class="font512750"><span style='mso-spacerun:yes'> </span>(Firebase was acquired by Google in 2014)</font></span></a></td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Online</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Local cache only, no persistence, syncs when online</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>❌</td> <td class=xl6712750 width=116 style='border-top:none;border-left:none; width:87pt'>❌</td> <td class=xl6812750 width=88 style='border-top:none;border-left:none; width:66pt'>Cloud: Firebase Realtime Database; Edge: Only caching, no DB (called Firestore)</td> <td class=xl6812750 width=88 style='border-top:none;border-left:none; width:66pt'>Document store</td> <td class=xl6712750 width=134 style='border-top:none;border-left:none; width:101pt'>iOS, Android, Web</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Java <br> JavaScript <br> Objective-C<br> Swift<br> Kotlin<br> C++<br> Dart<br> C#<br> Python, Go, Node.js</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>❌</td> <td class=xl6712750 width=154 style='border-top:none;border-left:none; width:116pt'>proprietory</td> <td class=xl6712750 width=123 style='border-top:none;border-left:none; width:92pt'>Tied to Google Cloud, requires internet connectivity</td> <td class=xl6912750 style='border-top:none;border-left:none'>🇺🇸</td> </tr> <tr height=119 style='height:89.25pt'> <td height=119 class=xl7012750 width=88 style='height:89.25pt;border-top: none;width:66pt'><a href="https://www.crunchbase.com/organization/supabase"><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">Supabase</font></span></a></td> <td class=xl7112750 width=88 style='border-top:none;border-left:none; width:66pt'>Supabase</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>Online</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>Limited</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl7212750 width=116 style='border-top:none;border-left:none; width:87pt'>❌</td> <td class=xl7112750 width=88 style='border-top:none;border-left:none; width:66pt'>Cloud DB: PostgreSQL</td> <td class=xl7112750 width=88 style='border-top:none;border-left:none; width:66pt'>Relational document store</td> <td class=xl7112750 width=134 style='border-top:none;border-left:none; width:101pt'>Primarily a cloud solution</td> <td class=xl7112750 width=88 style='border-top:none;border-left:none; width:66pt'>JavaScript/TypeScript<br> Flutter/Dart<br> C#<br> Swift<br> Kotlin<br> Python</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl7112750 width=154 style='border-top:none;border-left:none; width:116pt'>Apache License 2.0</td> <td class=xl7212750 width=123 style='border-top:none;border-left:none; width:92pt'>Supabase is mainly designed as a SaaS, for use cases with constant connectivity</td> <td class=xl7312750 style='border-top:none;border-left:none'>🇸🇬</td> </tr> <tr height=187 style='height:140.25pt'> <td height=187 class=xl6612750 width=88 style='height:140.25pt;border-top: none;width:66pt'><a href="https://objectbox.io/sync/"><span style='color: blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset:0'><font class="font512750">ObjectBox Sync</font></span></a></td> <td class=xl6612750 width=88 style='border-top:none;border-left:none; width:66pt'><a href="https://objectbox.io/"><span style='color:blue; font-family:Roboto;mso-generic-font-family:auto;mso-font-charset:0'><font class="font512750">ObjectBox</font></span></a></td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Offline-first</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl6712750 width=116 style='border-top:none;border-left:none; width:87pt'>In development</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>ObjectBox</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Object-oriented embedded NoSQL DB</td> <td class=xl6712750 width=134 style='border-top:none;border-left:none; width:101pt'>Android, Linux, Ubuntu, <br> Windows, <br> macOS, iOS,<br> QNX, Raspbian,<br> any POSIX system really,<br> any cloud (e.g. AWS/Azure/Google Cloud),<br> bare metal</td> <td class=xl7412750 width=88 style='border-top:none;border-left:none; width:66pt'>C<br> C++<br> Java<br> Kotlin<br> Swift<br> Go<br> Flutter / Dart <br> Python</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl6712750 width=154 style='border-top:none;border-left:none; width:116pt'>DB: Open source bindings, Apache 2.0, closed core</td> <td class=xl6712750 width=123 style='border-top:none;border-left:none; width:92pt'>Highly efficient (saves CPU, Memory, battery, and bandwidth); fully offline-first, supports on-premise settings, 100% cloud optional</td> <td class=xl6912750 style='border-top:none;border-left:none'>🇩🇪</td> </tr> <tr height=238 style='height:178.5pt'> <td height=238 class=xl7012750 width=88 style='height:178.5pt;border-top: none;width:66pt'><a href="https://en.wikipedia.org/wiki/Couchbase,_Inc."><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">Couchbase</font><font class="font612750"> (Lite + Couchbase Sync Gateway)</font></span></a></td> <td class=xl7012750 width=88 style='border-top:none;border-left:none; width:66pt'><a href="https://en.wikipedia.org/wiki/Couchbase,_Inc."><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">Couchbase</font><font class="font612750"> (a merger of Couch One and Membase)</font></span></a></td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>Online</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>The CE Sync is a bare minimum and typically not usable; Self-hosted Sync with Couchbase Servers is available as part of their Enterprise offering</td> <td class=xl7512750 width=116 style='border-top:none;border-left:none; width:87pt'>✅ as part of the Enterprise offering; gets expensive quickly</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>Edge: Couchbase Lite; Server: Couchbase</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>Multi-model NoSQL document-oriented database</td> <td class=xl7212750 width=134 style='border-top:none;border-left:none; width:101pt'>Couchbase Lite: iOS, Android, macOS, Linux, Windows, Raspbian and Raspberry Pi OS<br> <br> Couchbase Sync Gateway: Red Hat Enterprise Linux (RHEL) 9.x, Alma Linux 9.x, Rocky Linux 9.x, Ubuntu, Debian (11.x, 12.x), Windows Server 2022</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>.Net<br> C<br> Go<br> Java<br> JavaScript info<br> Kotlin<br> PHP<br> Python<br> Ruby<br> Scala</td> <td class=xl7212750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl7212750 width=154 style='border-top:none;border-left:none; width:116pt'>Couchbase Lite is available under different licenses; the open source Community Edition does not get regular updates and misses many features especially around Sync (e.g. it does not include Delta Sync making it slow and expensive)</td> <td class=xl7212750 width=123 style='border-top:none;border-left:none; width:92pt'>Typically requires Couchbase servers, quickly gets expensive</td> <td class=xl7312750 style='border-top:none;border-left:none'>🇺🇸</td> </tr> <tr height=163 style='mso-height-source:userset;height:122.25pt'> <td height=163 class=xl6612750 width=88 style='height:122.25pt;border-top: none;width:66pt'><a href="https://www.mongodb.com/solutions/use-cases/edge-and-mobile"><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">MongoDB Realm + Atlas Device Sync</font></span></a></td> <td class=xl6612750 width=88 style='border-top:none;border-left:none; width:66pt'><a href="https://en.wikipedia.org/wiki/MongoDB"><span style='color:blue;font-family:Roboto;mso-generic-font-family:auto;mso-font-charset: 0'><font class="font512750">MongoDB</font><font class="font612750"><br> </font><font class="font512750"><span style='mso-spacerun:yes'> </span>(Realm was acquired by MongoDB in 2019)</font></span></a></td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Offline-First</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>Cloud-based sync only</td> <td class=xl6712750 width=116 style='border-top:none;border-left:none; width:87pt'>❌</td> <td class=xl7412750 width=88 style='border-top:none;border-left:none; width:66pt'>Cloud: MongoDB, Edge: Mongo Realm DB</td> <td class=xl7412750 width=88 style='border-top:none;border-left:none; width:66pt'>MongoDB: NoSQL document store; RealmDB: Embedded NoSQL DB</td> <td class=xl6712750 width=134 style='border-top:none;border-left:none; width:101pt'>MongoDB: Linux<br> OS X<br> Solaris<br> Windows<br> Mongo Realm DB:<br> Android, iOS</td> <td class=xl7412750 width=88 style='border-top:none;border-left:none; width:66pt'>more than 20 languages, e.g. Java, C, C#, C++</td> <td class=xl6712750 width=88 style='border-top:none;border-left:none; width:66pt'>✅</td> <td class=xl6712750 width=154 style='border-top:none;border-left:none; width:116pt'>MongoDB changed its license from open source (AGPL) to MongoDB Inc.’s Server Side Public License (SSPL) in 2018. RealmDB is open source under the Apache 2.0 License. The Data Sync was proprietary.<span style='mso-spacerun:yes'> </span></td> <td class=xl6612750 width=123 style='border-top:none;border-left:none; width:92pt'><a href="https://objectbox.io/mongodb/"><span style='color:blue; font-family:Roboto;mso-generic-font-family:auto;mso-font-charset:0'>Deprecated (in Sep 2024); End-of-life in Sep 2025; ObjectBox offers a migration option</span></a></td> <td class=xl6912750 style='border-top:none;border-left:none'>🇺🇸</td> </tr> <![if supportMisalignedColumns]> <tr height=0 style='display:none'> <td width=88 style='width:66pt'></td> <td width=88 style='width:66pt'></td> <td width=88 style='width:66pt'></td> <td width=88 style='width:66pt'></td> <td width=88 style='width:66pt'></td> <td width=116 style='width:87pt'></td> <td width=88 style='width:66pt'></td> <td width=88 style='width:66pt'></td> <td width=134 style='width:101pt'></td> <td width=88 style='width:66pt'></td> <td width=88 style='width:66pt'></td> <td width=154 style='width:116pt'></td> <td width=123 style='width:92pt'></td> <td width=88 style='width:66pt'></td> </tr> <![endif]> </table> </div> </body> </html> <!-- Table contents as you provided them --> </table> </div></div></div><p>While <a href="https://en.wikipedia.org/wiki/SQLite">SQLite</a> does not offer a sync solution out-of-the-box, various vendors have built something on top, or integrated with SQLite giving them offline persistence.</p><h2 class="wp-block-heading">Key Considerations for Choosing a Data Sync Solution</h2><p>When selecting a synchronization solution, consider:</p><ol><li><strong>Connectivity Requirements</strong>: Will the application function in offline environments; how will it work with flaky network conditions; how is the user experience when there is intermittent connectivity?</li> <li><strong>Data Privacy & Security</strong>: How critical is it to ensure sensitive data remains local? Data compliance? How important is it that data is not breached?</li> <li><strong>Scalability and Performance</strong>: What are the expected data loads and network constraints? How important is speed for the users? Is there any need to guarantee QoS parameters? How much will the cloud and networking costs be?</li> <li><strong>Conflict Resolution</strong>: How does the solution handle data conflicts?</li> <li><strong>Delta Sync: </strong>Does the solution always synchronize all data or only changes (data delta)? Can a subset of data be synchronized? How efficient is the Sync protocol (affecting costs and speed)?</li></ol><h2 class="wp-block-heading">The Shift Towards Edge Computing</h2><p>The trend toward <a href="https://objectbox.io/why-do-we-need-edge-computing-for-a-sustainable-future/"><strong>Edge Computing</strong></a> highlights the growing preference for offline-first solutions. By processing and storing data closer to its source, Edge Computing reduces cloud dependency, enhances privacy, and improves efficiency. Data synchronization plays an important role in this shift, ensuring seamless operation across decentralized networks.</p><p>Offline and online synchronization solutions each have their merits, but the rise of edge computing and data privacy concerns has propelled offline Sync to the forefront. Developers must assess their application’s unique requirements to select the most appropriate synchronization method. As the industry evolves, hybrid and offline-first solutions are going to dominate, offering the best balance of functionality, privacy, and performance.</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/anastasia/" title="Posts by Anastasia" rel="author">Anastasia</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, the top SLMs, their integration with 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’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.&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>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><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 are already matching their 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="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"/><figcaption class="wp-element-caption">Small Language Models vs LLMs</figcaption></figure><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 – including the top SLMs – 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">"40% less parameters than google-bert/bert-base-uncased, runs 60% faster while preserving over 95% of BERT’s performances"</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">"2.7%/4.3% accuracy boost over preceding<br> 125M/350M state-of-the-art models"<br> "close correctness to LLaMA-v2 7B in API<br> calling tasks"</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">"outperforming models 7x its size, including GPT-3.5 & Claude"</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">"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." <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">"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"</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'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 – 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><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 – 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><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. </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 – all without relying on cloud-based systems.</p><p>For example:</p><ul><li>A worker says, <em>“Can you bring me the red toolbox from section B?”</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 – literally – 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 – it’s about doing more where it matters most: right in your hands.</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_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"><h2 class="wp-block-heading">Edge AI vs. Cloud AI</h2></div> </div> </div> </div><div class="et_pb_row et_pb_row_1"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_1 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_image et_pb_image_0"> <span class="et_pb_image_wrap "><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" /></span> </div> </div><div class="et_pb_column et_pb_column_3_4 et_pb_column_2 et_pb_css_mix_blend_mode_passthrough et-last-child"> <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"><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”, “local AI”) 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_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_2 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> </p> <p><!-- /divi:paragraph --></div> </div><div class="et_pb_module et_pb_image et_pb_image_1"> <span class="et_pb_image_wrap "><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" /></span> </div><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 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_4 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, “Apple Intelligence” 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 – 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_5 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_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_text et_pb_text_6 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_4"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_5 et_pb_css_mix_blend_mode_passthrough et-last-child"> <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"><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_8 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_5"> <div class="et_pb_column et_pb_column_4_4 et_pb_column_6 et_pb_css_mix_blend_mode_passthrough et-last-child"> <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"><h2>On-device AI Use Cases</h2></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"><p>On-device AI is revolutionizing numerous sectors by enabling real-time data processing wherever and whenever it’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_11 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_12 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><h2>ObjectBox for On-Device AI – an edge for everyone</h2></div> </div><div class="et_pb_module et_pb_image et_pb_image_2"> <span class="et_pb_image_wrap "><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" /></span> </div><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"><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_14 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> <article id="post-260529" class="et_pb_post post-260529 post type-post status-publish format-standard has-post-thumbnail hentry category-android category-edge-computing category-edge-database category-mobile-database category-sync tag-data-sync tag-mongodb tag-open-source"> <a class="entry-featured-image-url" href="https://objectbox.io/bi-directional-offline-first-data-sync-with-mongodb-and-objectbox/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2024/10/DataSyncMongoDB-AtlasDeviceSyncAlternative-1080x675.jpg" alt="Bi-directional Offline-First Data Sync with MongoDB and ObjectBox" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/bi-directional-offline-first-data-sync-with-mongodb-and-objectbox/">Bi-directional Offline-First Data Sync with MongoDB and ObjectBox</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">Oct 21, 2024</span> | <a href="https://objectbox.io/category/android/" rel="category tag">Android</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>In today’s fast-paced, decentralized world <a href="https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/charting-a-path-to-the-data-and-ai-driven-enterprise-of-2030">valuable data is generated by everything, everywhere, and all at once</a>. To harness the vast opportunities offered by this data for data-driven organizations and AI applications, you need to be able to access the data and seamlessly distribute it to when and where it’s needed.</p><p>The key to achieving this lies in efficient, offline-first on-device data storage, reliable bi-directional data sync, and a scalable data management backend in the cloud. In other words, you need the<strong> infrastructure to manage data flows bi-directionally</strong> to tap into fresh data throughout your organization, processes, and applications at the right time.</p><blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Together, <strong>MongoDB </strong>and <strong>ObjectBox </strong>provide developers with a robust solution to empower seamless workload and data flows on the edge and from the edge to the cloud. ObjectBox seamlessly syncs data bi-directionally across devices even without Internet and syncs back to the cloud and MongoDB when connected. With ObjectBox devices stay in sync also in environments with intermittent connectivity, high latency, or flaky networks. Capture and<strong> unlock the value of all your data</strong>, anytime, anywhere, without relying on a constant Internet connection, with MongoDB + ObjectBox.</p></blockquote><h2 class="wp-block-heading">Seamless Offline-First Data Sync for Edge Devices</h2><p>Maintaining service continuity is essential, even when devices are offline. Your customers, users, operations, and employees need to be able to rely on essential data at all times. That’s where ObjectBox comes in. It comprises of two key components: the <strong>ObjectBox Database</strong> and <strong>ObjectBox Data Sync</strong>.</p><p>The <strong>ObjectBox Database</strong> is a lightweight, on-device solution that is highly resource-efficient and fast on restricted hardware like mobile, IoT, and embedded devices, and even in the cloud. </p><p><strong>ObjectBox Data Sync</strong> enables seamless bi-directional data synchronization between devices. By handling only incremental changes in a compressed binary format, ObjectBox Sync ensures minimal data transfer, automatic conflict resolution, and a seamless user experience even in fluctuating network conditions. This approach effectively simplifies the development process by offering complex sync logic via easy native-language APIs, allowing developers to focus on core app functionality.</p><p class="has-text-align-center has-large-font-size"><img decoding="async" width="489" height="224" src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXcEx9EcRcK8j3_ROMiu3o4z-ilue_k1ky0sLb7cy5eUZHvNAiFN9ctGQ-iYsHVB5kOkT7KDYUE0M0enhnzVCe-FaEN7PWn5DswEDTJcOoBkAf-gCK9xNsIYN3-hiizRrukUv1MS0HDQHY6EKVjZ3LyHmteK?key=sgFQi2H7hW8Uaqo4pL44SA"></p><p>Once a connection is available, ObjectBox Data Sync instantly synchronizes changes with MongoDB, providing real-time, <strong>bi-directional data sync between edge devices and MongoDB’s robust cloud backend</strong>.</p><h2 class="wp-block-heading">The Benefits of Offline-First and Real-Time Data Sync with MongoDB and ObjectBox:</h2><ul><li><strong>Resource-efficiency & Highspeed:</strong> ObjectBox excels at consuming minimal computational resources (CPU, power, memory, …) while delivering data persistence speed that is typically on-par with in-memory caches for read operations.</li> <li><strong>Offline-First Operation:</strong> Ensure continuous app performance, even with no internet connection. ObjectBox stores and syncs data bi-directionally on the edge and additionally with MongoDB once connected.</li> <li><strong>Real-Time Data Sync</strong>: Get reliable, bi-directional<strong> data synchronization</strong> across devices and MongoDB, enabling real-time updates and data consistency.</li> <li><strong>Scalable Edge:</strong> Easily handle 100k operations / second on a single device. Host the Sync server on any edge device (like a phone) and easily handle 3M clients with a three-node cluster. </li> <li><strong>Scalable Cloud Backend:</strong> With MongoDB, businesses can scale their applications to handle growing data and performance demands, seamlessly syncing data between millions of devices and the cloud.</li></ul><h2 class="wp-block-heading">Flexible Setup Scenarios: Tailor Data Sync to Your Needs</h2><p>ObjectBox and MongoDB offer flexible setup scenarios to meet different application needs. The two main setup options are the central sync and the edge sync setup.</p><p>The <strong>Central Sync Setup</strong> syncs data between edge devices and MongoDB in the cloud, providing centralized data management while retaining offline-first functionality. The ObjectBox Sync Server runs in the cloud or on-premise.</p><p class="has-text-align-center"><img decoding="async" width="489" height="160" src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXfPanxuQx8fi2zqP60LnS-YYWpEO1rcrV4IqrI897kZ2g4OcL6TazHr5gxAGBldV-ggC8lOUw0dpw1MEo6h1vpR_Eo9ZK4Deuq7Ut2rgyksVgsrsClmftXy-Pkw2r3D_m61RrHo83z7_jEY3S7TNx9mngAp?key=sgFQi2H7hW8Uaqo4pL44SA"></p><p>The <strong>Edge Sync Setup</strong> allows devices to operate and sync data efficiently offline between ObjectBox instances within an edge, e.g. within one location, or within a car. When reconnected, changes are synchronized back to MongoDB making it ideal for environments with intermittent connectivity or distributed devices that need to function independently while syncing back to the cloud when possible.</p><p class="has-text-align-center"><img decoding="async" width="489" height="381" src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXdo72GRvjca0T0XhrQlM_iJFRwa9C6_L9WKpsQqcb7rOrrxKYD7LKPL_5vm4fkaLwMsm43rdBQcmAIbGSNXNcN-LWTtAL3Iu_zYnc9N-fFfLehlwwUQGulUKkAfY-PQXAPEDsj72LgEp8x8BdNZLoOwR0fN?key=sgFQi2H7hW8Uaqo4pL44SA"></p><p>This structure offers a flexible approach to integrating edge and cloud systems, empowering organizations to choose the setup that best fits their specific use case. <a href="https://objectbox.io/mongodb/">More details</a>.</p><h2 class="wp-block-heading">Use Cases for MongoDB + ObjectBox :</h2><ol><li><strong><font color="#17A6A6">Data-Driven Organizations: </font></strong>In a data-driven organization, every decision relies on access to relevant, up-to-date data. ObjectBox enables real-time data collection and synchronization from edge devices, ensuring access to critical data, even when devices are intermittently connected. This streamlines operations, improves decision-making, and enhances analysis across distributed teams and IoT systems. With MongoDB’s scalable cloud infrastructure, decentralized data integrates seamlessly with the cloud backend for efficient management.<br></li> <li><strong><font color="#17A6A6">Point-of-Sale (PoS) & Retail Edge Computing: </font></strong>A seamless customer experience and the ability to keep selling and never lose a transaction, even during internet outages, are essential for PoS systems / in retail. ObjectBox enables offline-first data storage and syncing for PoS systems, allowing transactions to be processed locally, even without internet connectivity. When connectivity returns, ObjectBox syncs transaction data back to MongoDB in real time, ensuring data consistency across multiple locations. Retailers can then leverage MongoDB’s analytics to gain insights into customer behavior and optimize inventory management.<br></li> <li><strong><font color="#17A6A6">Software-Defined Vehicle (SDV) & Connected Cars: </font></strong>Modern vehicles generate vast amounts of data from sensors and onboard systems. ObjectBox enables efficient on-device storage and processing, providing real-time access to data for navigation, diagnostics, and infotainment systems. ObjectBox Data Sync ensures that local data is synced back to MongoDB when connectivity is available, supporting centralized analytics, fleet management, and predictive maintenance, optimizing performance and safety while enhancing the user experience.<br></li> <li><strong><font color="#17A6A6">Manufacturing & Smart Shopfloor Apps</font></strong>: In smart factories, machines and sensors continuously generate data that must be analyzed and processed in real time. ObjectBox enables local data storage and fast data sync on-premise without the necessity for an Internet connection, ensuring that critical systems that are not connected to the Internet can run smoothly on-site. With a connected instance, ObjectBox takes care of synchronizing this data with the cloud and MongoDB for further analysis and central dashboards.<br></li> <li><strong><font color="#17A6A6">AI-Applications with On-device Vector Search:</font></strong> ObjectBox is the first and only on-device vector database, empowering developers to run AI locally on mobile, IoT, embedded, and other commodity devices (Edge AI). In combination with a Small Language Model (SLM), this allows developers to build local AI applications (e.g. RAG, genAI) that run directly on the device—without needing a cloud connection. By syncing with MongoDB, businesses can combine the power of on-device AI with centralized cloud data for even greater insights and performance. This is especially beneficial in scenarios requiring real-time decision-making, such as personalized customer experiences and predictive maintenance.</li></ol><p>In today’s data-driven world, a data-first strategy requires seamless integration between <strong>edge and cloud data management</strong>. The combination of MongoDB and ObjectBox unlocks the full potential of your data. MongoDB’s powerful cloud platform, together with ObjectBox’s efficient on-device database and offline-first capabilities, is ideal for capturing the value of your data from anywhere, including distributed edge devices where valuable data is generated all the time. This partnership empowers businesses to seamlessly handle decentralized data, enabling fast and reliable operations at the edge while syncing back to the cloud for centralized management. Whether on IoT devices, mobile, embedded systems, or commodity hardware, ObjectBox and MongoDB ensure optimal performance everywhere. From remote areas to bad networks, our joint solution keeps data flowing reliably between the edge and the MongoDB backend, even when connectivity or nodes are lost.</p> </article> <article id="post-260182" class="et_pb_post post-260182 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-edge-ai category-edge-computing category-edge-database category-mobile-database category-vector-database tag-ai tag-edge-ai tag-edge-computing tag-edge-database tag-vector-database"> <a class="entry-featured-image-url" href="https://objectbox.io/the-rise-of-small-language-models/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2024/12/2024_12_16_SLMs_2-1080x675.png" alt="The rise of small language models (“small LLMs”)" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/the-rise-of-small-language-models/">The rise of small language models (“small LLMs”)</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/anastasia/" title="Posts by Anastasia" rel="author">Anastasia</a></span> | <span class="published">Oct 2, 2024</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/mobile-database/" rel="category tag">Mobile Database</a>, <a href="https://objectbox.io/category/vector-database/" rel="category tag">vector database</a></p><p><div class="et_pb_section et_pb_section_1 et_section_regular" > <div class="et_pb_row et_pb_row_6"> <div class="et_pb_column et_pb_column_4_4 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"><!-- divi:paragraph --></p> <p>As <strong>artificial intelligence (AI)</strong> continues to evolve, companies, researchers, and developers are recognizing that bigger isn’t always better. Therefore, the era of ever-expanding model sizes is giving way to more efficient, compact models, so-called <strong><a href="https://objectbox.io/top-small-language-models-slms-and-their-power-with-local-vector-databases/">Small Language Models (SLMs)</a>.</strong> SLMs offer several key advantages that address both the growing complexity of AI and the practical challenges of deploying large-scale models. In this article, we’ll explore why the race for larger models is slowing down and how SLMs are emerging as the sustainable solution for the future of AI.</p> <p> </p> <p> </p> <p><!-- divi:heading --></p> <h2 class="wp-block-heading">From Bigger to Better: The End of the Large Model Race</h2> <p>Up until 2023, the focus was on expanding models to unprecedented scales. But the era of creating ever-larger models appears to be coming to an end. Many newer models like Grok or Llama 3 are smaller in size yet maintain or even improve performance compared to models from just a year ago. The drive now is to reduce model size, optimize resources, and maintain power.</p> <h3>The Plateau of Large Language Models (LLMs)</h3> <p> </p> <p><!-- divi:image {"id":260082,"sizeSlug":"full","linkDestination":"none"} --></p> <p><img decoding="async" src="https://objectbox.io/wordpress/wp-content/uploads/2024/12/2024_12_16_SLMs_2-1-1.png" width="2337" height="1305" alt="2024_12_16_SLMs_2" class="wp-image-261013 alignnone size-full" /></p> <p class="wp-block-heading" style="text-align: center;"><!-- divi:heading {"level":3} --></p> <h3 class="wp-block-heading">Why Bigger No Longer Equals Better</h3> <p>As models become larger, developers are realizing that the performance improvements aren’t always worth the additional computational cost. Breakthroughs in <a href="https://www.ibm.com/topics/knowledge-distillation">knowledge distillation</a> and <a href="https://www.arxiv.org/abs/2408.13296">fine-tuning</a> enable smaller models to compete with and even outperform their larger predecessors in specific tasks. For example, medium-sized models like Llama with 70B parameters and Gemma-2 with 27B parameters are among the top 30 models in the <a href="https://lmarena.ai/?leaderboard">chatbot arena</a>, outperforming even much larger models like GPT-3.5 with 175B parameters.</p> <p> </p> <p><!-- divi:heading {"level":3} --></p> <h3 class="wp-block-heading">The Shift Towards Small Language Models (SLMs)</h3> <p>In parallel with the optimization of LLMs, the rise of SLMs presents a new trend (see Figure). These models require fewer computational resources, offer faster inference times, and have the potential to run directly on devices. In combination with an <a href="https://objectbox.io/the-first-on-device-vector-database-objectbox-4-0/"><strong>on-device database</strong></a>, this enables powerful local GenAI and <a href="https://www.linkedin.com/posts/shubham-panchal-82ba92160_android-programming-machinelearning-activity-7242447781158699009-N7A7?utm_source=share&utm_medium=member_desktop">on-device RAG apps</a> on all kinds of embedded devices, like on mobile phones, Raspberry Pis, commodity laptops, IoT, and robotics.</p> <p> </p> <p><!-- divi:heading --></p> <h2 class="wp-block-heading">Advantages of SLMs</h2> <p>Despite the growing complexity of AI systems, SLMs offer several key advantages that make them essential in today’s AI landscape:</p> <p> </p> <p><!-- /divi:paragraph --></div> </div> </div> </div><div class="et_pb_row et_pb_row_7 two-col-tab"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_8 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 decoding="async" title="speed-icon" class="wp-image-53062"> <source type="image/webp" srcset="https://objectbox.io/wordpress/wp-content/uploads/2021/01/speed-icon.png.webp"/> <img decoding="async" width="112" height="101" src="https://objectbox.io/wordpress/wp-content/uploads/2021/01/speed-icon.png" alt="speed-icon"/> </picture> </span> </div> </div><div class="et_pb_column et_pb_column_3_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_16 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><strong>Efficiency and Speed</strong><br />SLMs are significantly more efficient, needing less computational power to operate. This makes them perfect for resource-constrained environments like <a href="https://objectbox.io/what-is-edge-computing/">edge computing</a>, mobile phones, and IoT systems. This enables quicker response times and more real-time applications. For example, studies show that small models like DistilBERT can retain <a href="https://arxiv.org/abs/1910.01108">over 95% of the performance of larger models in some tasks while being 60% smaller and faster to execute.</a></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_8 two-col-tab"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_10 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 "><img decoding="async" width="150" height="150" src="https://objectbox.io/wordpress/wp-content/uploads/2024/10/phone-tablet-150x150-1.png" alt="" title="phone-tablet-150x150" class="wp-image-260119" /></span> </div> </div><div class="et_pb_column et_pb_column_3_4 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_17 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><strong>Accessibility</strong><br />As SLMs are less resource-hungry (less hardware requirements, less CPU, memory, power needs), they are more accessible for companies and developers with smaller budgets. Because the model and data can be used locally, on-device / on-premise, there is no need for cloud infatstructure and they are also usable for use cases with high privacy requirements. All in all, SLMs democratize AI development and empower smaller teams and individual developers to deploy advanced models on more affordable hardware.</p></div> </div> </div> </div><div class="et_pb_row et_pb_row_9 two-col-tab"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_12 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="150" height="150" src="https://objectbox.io/wordpress/wp-content/uploads/2024/10/resourcefulness-teal-150x150.png.webp" alt="" title="resourcefulness-teal-150x150.png" class="wp-image-260120" /></span> </div> </div><div class="et_pb_column et_pb_column_3_4 et_pb_column_13 et_pb_css_mix_blend_mode_passthrough et-last-child"> <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><strong>Cost Reduction and Sustainability</strong><br />Training and deploying large models require <a href="https://www.forbes.com/sites/craigsmith/2023/09/08/what-large-models-cost-you--there-is-no-free-ai-lunch/">immense computational and financial resources</a>, and comes with high operational costs. SLMs drastically reduce the cost of training, deployment, and operation as well as the carbon footprint, making AI more financially and environmentally sustainable.</p></div> </div> </div> </div><div class="et_pb_row et_pb_row_10 two-col-tab"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_14 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_image et_pb_image_6"> <span class="et_pb_image_wrap "><img decoding="async" width="150" height="150" src="https://objectbox.io/wordpress/wp-content/uploads/2024/10/Gear.png" alt="Gear" title="Gear" class="wp-image-260121" /></span> </div> </div><div class="et_pb_column et_pb_column_3_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_19 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><strong>Specialization and Fine-tuning<br /></strong>SLMs can be fine-tuned more efficiently for specific applications. They excel in domain-specific tasks because their smaller size allows for faster and more efficient retraining. It makes them ideal for sectors like healthcare, legal document analysis, or customer service automation. For instance, <a href="https://research.google/blog/distilling-step-by-step-outperforming-larger-language-models-with-less-training-data-and-smaller-model-sizes/">using the ‘distilling step-by-step’ mechanism, a 770M parameter T5 model outperformed a 540B parameter PaLM model using 80% of the benchmark dataset, showcasing the power of specialized training techniques with a much smaller model size</a></p></div> </div> </div> </div><div class="et_pb_row et_pb_row_11 two-col-tab"> <div class="et_pb_column et_pb_column_1_4 et_pb_column_16 et_pb_css_mix_blend_mode_passthrough"> <div class="et_pb_module et_pb_image et_pb_image_7"> <span class="et_pb_image_wrap "><img decoding="async" width="150" height="150" src="https://objectbox.io/wordpress/wp-content/uploads/2024/10/AI-Icon-1-150x150-1.png" alt="Gear" title="AI-Icon-1-150x150" class="wp-image-260122" /></span> </div> </div><div class="et_pb_column et_pb_column_3_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_20 et_pb_text_align_left et_pb_bg_layout_light"> <div class="et_pb_text_inner"><p><strong>On-Device AI for Privacy and Security<br /></strong>SLMs are becoming compact enough for deployment on edge devices like smartphones, IoT sensors, and wearable tech. This reduces the need for sensitive data to be sent to external servers, ensuring that user data stays local. With the rise of <a href="https://objectbox.io/the-first-on-device-vector-database-objectbox-4-0/"><strong>on-device vector databases</strong></a>, SLMs can now handle use-case-specific, personal, and private data directly on the device. This allows more advanced AI apps, like those using <a href="https://objectbox.io/retrieval-augmented-generation-rag-with-vector-databases-expanding-ai-capabilities/">RAG</a>, to interact with personal documents and perform tasks without sending data to the cloud. With a local, on-device vector database users get personalized, secure AI experiences while keeping their data private.</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_18 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"><!-- divi:paragraph --></p> <p> <span style="color: #1b1815; font-size: 22px;">The Future: Fit-for-Purpose Models: From Tiny to Small to Large Language models</span></p> <p> <span style="font-size: 14px;">The future of AI will likely see the rise of models that are neither massive nor minimal but fit-for-purpose. This “right-sizing” reflects a broader shift toward models that balance scale with practicality. SLMs are becoming the go-to choice for environments where specialization is key and resources are limited. Medium-sized models (20-70 billion parameters) are becoming the standard choice for balancing computational efficiency and performance on general AI tasks. At the same time, SLMs are proving their worth in areas that require low latency and high privacy.</span></p> <p>Innovations in model compression, parameter-efficient fine-tuning, and new architecture designs are enabling these smaller models to match or even outperform their predecessors. The focus on optimization rather than expansion will continue to be the driving force behind AI development in the coming years.</p> <p> </p> <p><!-- divi:paragraph --></p> <p> <span style="color: #1b1815; font-size: 22px;">Conclusion: Scaling Smart is the New Paradigm</span></p> <p> </p> <p><!-- divi:paragraph --></p> <p>As the field of AI moves beyond the era of “bigger is better,” SLMs and medium-sized models are becoming more important than ever. These models represent the future of scalable and efficient AI. They serve as the workhorses of an industry that is looking to balance performance with sustainability and efficiency. The focus on smaller, more optimized models demonstrates that innovation in AI isn’t just about scaling up; it’s about scaling smart.</p> <p><!-- /divi:paragraph --></div> </div> </div> </div> </div></p> </article> <article id="post-259634" class="et_pb_post post-259634 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-edge-ai category-edge-computing category-mobile-database category-vector-database tag-ai tag-edge-ai"> <a class="entry-featured-image-url" href="https://objectbox.io/local-ai-what-it-is-and-why-we-need-it/"> <img src="https://objectbox.io/wordpress/wp-content/uploads/2024/09/LocalAI_EdgeAI_on-deviceAI-1080x675.jpg" alt="Local AI – what it is and why we need it" class="" width="1080" height="675" /> </a> <h2 class="entry-title"><a href="https://objectbox.io/local-ai-what-it-is-and-why-we-need-it/">Local AI – what it is and why we need it</a></h2> <p class="post-meta"> by <span class="author vcard"><a href="https://objectbox.io/author/anastasia/" title="Posts by Anastasia" rel="author">Anastasia</a></span> | <span class="published">Sep 11, 2024</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/mobile-database/" rel="category tag">Mobile Database</a>, <a href="https://objectbox.io/category/vector-database/" rel="category tag">vector database</a></p><p><strong>Artificial Intelligence (AI)</strong> has become an integral part of our daily lives in recent years. However, it has been tied to running in huge, centralized cloud data centers. This year, <strong>“local AI”</strong>, also known as <strong>“on-device AI”</strong> or <strong>“Edge AI”</strong>, is gaining momentum. Local <a href="https://objectbox.io/vector-database/">vector databases</a>, <a href="https://news.microsoft.com/source/features/ai/the-phi-3-small-language-models-with-big-potential/">efficient language models</a> (so-called <strong><a href="https://objectbox.io/the-rise-of-small-language-models-2/">Small Language Models</a>, SLMs</strong>), and <a href="https://developers.google.com/learn/pathways/on-device-ml-4">AI algorithms</a> are becoming smaller, more efficient, and less compute-heavy. As a result, they can now run on a wide variety of devices, locally.</p><figure class="wp-block-image size-full is-resized"><img decoding="async" width="2340" height="1312" src="https://objectbox.io/wordpress/wp-content/uploads/2024/12/2024_12_16_SLMs-1.png" alt="" class="wp-image-260988" style="width:1045px;height:auto"/><figcaption class="wp-element-caption">Figure 1. Evolution of language model’s size with time. Large language models (LLMs) are marked as celadon circles, and small language models (SLMs) as blue ones.</figcaption></figure><h2 class="wp-block-heading">What is Local AI (on-device AI, Edge AI)?</h2><p><strong>Local AI </strong>refers to running AI applications directly on a device, locally, instead of relying on (distant) cloud servers. Such an on-device AI works in real-time on commodity hardware (e.g. old PCs), consumer devices (e.g. smartphones, wearables), and other types of embedded devices (e.g. robots and <a href="https://objectbox.io/retail-edge-computing/">point-of-sale (POS)</a> systems used in shops and restaurants). An interest in local Artificial Intelligence is growing (see Figure 2).</p><figure class="wp-block-image"><img decoding="async" src="https://lh7-qw.googleusercontent.com/docsz/AD_4nXeze-7YvLvyw6fhMEgiSslp_7VCF5oqvWq8HHRrYpxipUCnNX_XcU4JVg18J2cnA3qRmpEFk325usXaKGrVjXJvs3qBxeWcGpid0l8xz_Ee2RINoPS5nNasxXL2L3zMQGLCzLM7IpcI9gWyg2z3N7FO8gs?key=1RLM3AWa7WNMXiw1JAsxHA" alt=""/><figcaption class="wp-element-caption">Figure 2. Interest over time according to Google Trends.</figcaption></figure><h2 class="wp-block-heading">Why use Local AI: Benefits</h2><p>Local AI addresses many of the concerns and challenges of current cloud-based AI applications. The main reasons for the advancement of local AI are: </p><ul><li><strong>Privacy / Data Security</strong> – <a href="https://www.emft.fraunhofer.de/en/research-development/system-solution-ai/edge-ai.html">Data stays on the device and under one’s control</a></li> <li><strong>Accessibility</strong> – AI works independently from an internet connection</li> <li><strong>Sustainability</strong> – AI consumes significantly less energy compared to cloud setups</li></ul><p>On top, local AI reduces:</p><ul><li><strong>latency</strong>, enabling real-time apps</li> <li><strong>data transmission and cloud costs</strong>, enabling commodity business cases</li></ul><p>In short: By leveraging the power of <a href="https://objectbox.io/what-is-edge-computing/">Edge Computing</a> and on-device processing, local AI can unlock new possibilities for a wide range of applications, from <a href="https://www.apple.com/apple-intelligence/">consumer applications</a> to<a href="https://objectbox.io/iiot-edge-computing/"> industrial automation</a> to <a href="https://objectbox.io/iot-edge-computing-and-digitalization-in-healthcare/">healthcare</a>.</p><h3 class="wp-block-heading">Privacy: Keeping Data Secure</h3><p>In a world where data privacy concerns are increasing, local AI offers a solution. Since data is processed directly on the device, sensitive information remains local, minimizing the risk of breaches or misuse of personal data. No need for data sharing and data ownership is clear. This is the key to using AI responsibly in industries like healthcare, where sensitive data needs to be processed and used without being sent to external servers. For example, medical data analysis or diagnostic tools can run locally on a doctor’s device and be synchronized to other on-premise, local devices (like e.g. PCs, on-premise servers, specific medical equipment) as needed. This ensures that patient data never leaves the clinic, and data processing is compliant with strict privacy regulations like <a href="https://www.edps.europa.eu/data-protection/our-work/subjects/health_en">GDPR</a> or <a href="https://www.hhs.gov/hipaa/index.html">HIPAA</a>.</p><h3 class="wp-block-heading">Accessibility: AI for Anyone, Anytime</h3><p>One of the most significant advantages of local AI is its ability to function without an internet connection. This opens up a world of opportunities for users in remote locations or those with unreliable connectivity. Imagine having access to language translation, image recognition, or predictive text tools on your phone without needing to connect to the internet. Or a point-of-sale (POS) system in a retail store that operates seamlessly, even when there’s no internet. These AI-powered systems can still analyze customer buying habits, manage inventory, or suggest product recommendations offline, ensuring businesses don’t lose operational efficiency due to connectivity issues. Local AI makes this a reality. In combination with little hardware requirements, it makes AI accessible to anyone, anytime. Therefore, local AI is an integral ingredient in making AI more inclusive and to <a href="https://arxiv.org/abs/2303.12642">democratize AI</a>.</p><h3 class="wp-block-heading">Sustainability: Energy Efficiency</h3><p>Cloud-based AI requires massive server farms that consume enormous amounts of energy. Despite strong efficiency improvements, in 2022, <a href="https://www.iea.org/energy-system/buildings/data-centres-and-data-transmission-networks">data centers globally consumed between 240 and 340 terawatt-hours (TWh) of electricity</a>. To put this in perspective, data centers now use more electricity than entire countries like Argentina or Egypt. This growing energy demand places considerable pressure on global energy resources and contributes to around 1% of energy-related CO2 emissions.</p><p><a href="https://www.goldmansachs.com/insights/articles/AI-poised-to-drive-160-increase-in-power-demand">The rise of AI has amplified these trends</a>. <a href="https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/ai-power-expanding-data-center-capacity-to-meet-growing-demand">According to McKinsey</a>, the demand for data center capacity is projected to grow by over 20% annually, reaching approximately 300GW by 2030, with 70% of this capacity dedicated to hosting AI workloads. <a href="https://siliconangle.com/2023/02/05/generative-ai-drives-explosion-compute-looming-need-sustainable-ai/">Gartner even predicts</a> that by 2025, “AI will consume more energy than the human workforce”. AI workloads alone could drive a 160% increase in data center energy demand by 2030, with some estimates suggesting that AI could consume 500% more energy in the UK than it does today. By that time, data centers may account for up to 8% of total energy consumption in the United States.</p><p> In contrast, local AI presents a more sustainable alternative, e.g. by leveraging Small Language Models, which require less power to train and run. Since computations happen directly on the device, local AI significantly reduces the need for constant data transmission and large-scale server infrastructure. This not only lowers energy use but also helps decrease the overall carbon footprint. Additionally, integrating a <a href="https://objectbox.io/vector-database-for-ondevice-ai/">local vector database</a> can further enhance efficiency by minimizing reliance on power-hungry data centers, contributing to more energy-efficient and environmentally friendly technology solutions.</p><h2 class="wp-block-heading">When to use local AI: Use case examples</h2><p>Local AI enables an infinite number of new use cases. Thanks to advancements in AI models and vector databases, AI apps can be run cost-effectively on less capable hardware, e.g. commodity PCs, without the need for an internet connection and data sharing. This opens up the opportunity for offline AI, real-time AI, and private AI applications on a wide variety of devices. From smartphones and smartwatches to industrial equipment and even cars, local AI is becoming accessible to a broad range of users. </p><ul><li><strong>Consumer Use Cases (B2C):</strong> Everyday apps like photo editors, voice assistants, and fitness trackers can integrate AI to offer faster and more personalized services (local <a href="https://objectbox.io/retrieval-augmented-generation-rag-with-vector-databases-expanding-ai-capabilities/">RAG</a>), or integrate generative AI capabilities. </li> <li><strong>Business Use Cases (B2B): </strong>Retailers, manufacturers, and service providers can use local AI for data analysis, process automation, and real-time decision-making, even in offline environments. This improves efficiency and user experience without needing constant cloud connectivity.</li></ul><h2 class="wp-block-heading">Conclusion</h2><p>Local AI is a powerful alternative to cloud-based solutions, making AI more accessible, private, and sustainable. With Small Language Models and<a href="https://objectbox.io/vector-database-for-ondevice-ai/"> on-device vector databases like ObjectBox,</a> it is now possible to bring AI onto everyday devices. From the individual user who is looking for convenient, always-available tools to large businesses seeking to improve operations and create new services without relying on the cloud – local AI is transforming how we interact with technology everywhere.</p> </article> <div class="pagination clearfix"> <div class="alignleft"><a href="https://objectbox.io/category/mobile-database/page/2/" >« 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 & Imprint</a></div> </div> </div> </footer> </div> </div> </div> <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> <script type='text/javascript'> (function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })(); </script> <!-- 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 --><link rel='stylesheet' id='wc-blocks-style-css' href='https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?ver=wc-9.3.3' type='text/css' media='all' /> <style id='core-block-supports-inline-css' type='text/css'> .wp-container-core-columns-is-layout-1.wp-container-core-columns-is-layout-1{flex-wrap:nowrap;} </style> <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" id="leadin-script-loader-js-js-extra"> /* <![CDATA[ */ var leadin_wordpress = {"userRole":"visitor","pageType":"archive","leadinPluginVersion":"11.1.66"}; /* ]]> */ </script> <script type="text/javascript" src="https://js.hs-scripts.com/3772993.js?integration=WordPress&ver=11.1.66" id="leadin-script-loader-js-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":"b67f28c63f","subscription_failed":"Please, check the fields below to make sure you entered the correct information.","et_ab_log_nonce":"d55adb0634","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":"261266","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="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":"261266"}; /* ]]> */ </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.5.5" 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" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=9.3.3" id="sourcebuster-js-js"></script> <script type="text/javascript" id="wc-order-attribution-js-extra"> /* <![CDATA[ */ var wc_order_attribution = {"params":{"lifetime":1.0000000000000000818030539140313095458623138256371021270751953125e-5,"session":30,"base64":false,"ajaxurl":"https:\/\/objectbox.io\/wordpress\/wp-admin\/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; /* ]]> */ </script> <script type="text/javascript" src="https://objectbox.io/wordpress/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=9.3.3" id="wc-order-attribution-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="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":"101779e3eb","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":"101779e3eb","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-261266-cached-inline-styles">.et_pb_section_0.et_pb_section{padding-top:5px}.et_pb_row_0.et_pb_row{padding-bottom:9px!important;padding-bottom:9px}.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{@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-top:-31px!important}.et_pb_image_0{margin-right:9px!important;text-align:center}.et_pb_row_2.et_pb_row{padding-bottom:8px!important;padding-bottom:8px}.et_pb_image_1{margin-top:-29px!important;margin-bottom:-2px!important;text-align:left;margin-left:0}.et_pb_row_3.et_pb_row{padding-top:7px!important;padding-bottom:0px!important;padding-top:7px;padding-bottom:0px}.et_pb_row_4.et_pb_row{padding-bottom:0px!important;padding-bottom:0px}.et_pb_text_7{margin-bottom:0px!important}.et_pb_text_10{margin-top:-29px!important;margin-bottom:4px!important}.et_pb_image_2{margin-top:-19px!important;text-align:left;margin-left:0}.et_pb_text_13{padding-top:8px!important;margin-top:-29px!important}.et_pb_section_1.et_pb_section{padding-top:18px}.et_pb_row_6.et_pb_row{padding-top:23px!important;padding-bottom:2px!important;padding-top:23px;padding-bottom:2px}.et_pb_text_15{padding-bottom:0px!important}.et_pb_image_3{padding-right:2px;text-align:left;margin-left:0}.et_pb_text_16,.et_pb_text_17,.et_pb_text_18,.et_pb_text_19,.et_pb_text_20{padding-left:0px!important;margin-left:-18%!important}.et_pb_image_4,.et_pb_image_5,.et_pb_image_6,.et_pb_image_7{text-align:left;margin-left:0}.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}@media only screen and (min-width:981px){.et_pb_image_3,.et_pb_image_4,.et_pb_image_5,.et_pb_image_6,.et_pb_image_7{width:50%}}@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_3{width:50%}.et_pb_text_16,.et_pb_text_17,.et_pb_text_18,.et_pb_text_19,.et_pb_text_20{margin-left:-70%!important}.et_pb_image_4{width:40%}.et_pb_image_5{width:41%}.et_pb_image_6{width:37%}.et_pb_image_7{width:40.6%}}@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_3,.et_pb_image_4,.et_pb_image_5,.et_pb_image_6,.et_pb_image_7{display:none!important}.et_pb_text_16,.et_pb_text_17,.et_pb_text_18{margin-left:0%!important}.et_pb_text_19{margin-left:-70%!important}}</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> <!-- Cookie Notice plugin v2.4.18 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>