{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/LxhjuBcJDUcc3FfGNzlh/R7BfX9uL3FVWPpcJo0yP/BlgcHrQ_X-9.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{Link as n}from\"framer\";import{motion as a}from\"framer-motion\";import*as o from\"react\";export const richText=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/e(\"p\",{children:\"This is our almost last product update of this quarter before we jump on to Q2. Time hell moves fast! This is a short one because a big one is coming - we are not fully done with this quarter yet \uD83D\uDE00.\"}),/*#__PURE__*/e(\"h3\",{children:\"Platform\"}),/*#__PURE__*/e(\"h5\",{children:\"Git providers\"}),/*#__PURE__*/t(\"p\",{children:[\"A few weeks back, Fabio and myself had \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/posts/mitrakaustav_productivity-data-founder-activity-7037508003176050688-m9pd?utm_source=share&utm_medium=member_desktop\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"almost a meltdown\"})}),\" trying to get access to Azure Dev Ops. We found on a Friday evening for hours and obviously ended up in complete failure. But then as founders, we live through tenacity and perseverance.\"]}),/*#__PURE__*/t(\"p\",{children:[\"So I am super thrilled, that we have now added support for the mighty \",/*#__PURE__*/e(n,{href:\"https://azure.microsoft.com/en-us/products/devops\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Azure DevOps\"})}),\" to the list of Git Providers supported on the Paradime platform. \",/*#__PURE__*/e(\"strong\",{children:\"We now support pretty much every major git provider in the planet today\"}),\" \uD83E\uDD29 - \",/*#__PURE__*/e(n,{href:\"https://github.com\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Github\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://about.gitlab.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Gitlab\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://bitbucket.org\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Bitbucket\"})}),\" and \",/*#__PURE__*/e(n,{href:\"https://azure.microsoft.com/en-us/products/devops\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"ADO\"})}),\".\"]}),/*#__PURE__*/e(\"img\",{alt:\"Git providers | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"370\",src:\"https://framerusercontent.com/images/NsZVBRF8kkeCOxrOa5Do5O70w.png\",srcSet:\"https://framerusercontent.com/images/NsZVBRF8kkeCOxrOa5Do5O70w.png?scale-down-to=512 512w,https://framerusercontent.com/images/NsZVBRF8kkeCOxrOa5Do5O70w.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/NsZVBRF8kkeCOxrOa5Do5O70w.png 1039w\",style:{aspectRatio:\"1039 / 741\"},width:\"519\"}),/*#__PURE__*/e(\"h5\",{children:\"Changing git providers\"}),/*#__PURE__*/e(\"p\",{children:\"This is also an interesting one - we are seeing more and more situations where\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"we have customers switching git providers to optimise cost\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"we have analytics consultancies that spin up a trial with us using one git provider for speed and agility and then need to switch to their customers git provider during handover or recommendation\"})})]}),/*#__PURE__*/e(\"p\",{children:\"We now support this edge case of switching git providers from Paradime workspace settings. Customers can switch git providers or switch dbt\u2122* repos linked to their Paradime workspace in a couple of clicks. What's great is when you switch repos or provider it is done across all users linked to the workspace. \"}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/e(\"p\",{children:\"Platform teams will no longer have to chase every analytics engineer across the org on their local setup but do migration in a single-shot.\"})}),/*#__PURE__*/e(\"img\",{alt:\"Changing git providers | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"313\",src:\"https://framerusercontent.com/images/hJ3B0O9ITjLVLs1I7IvvRg5H3s.png\",srcSet:\"https://framerusercontent.com/images/hJ3B0O9ITjLVLs1I7IvvRg5H3s.png?scale-down-to=512 512w,https://framerusercontent.com/images/hJ3B0O9ITjLVLs1I7IvvRg5H3s.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/hJ3B0O9ITjLVLs1I7IvvRg5H3s.png 1039w\",style:{aspectRatio:\"1039 / 627\"},width:\"519\"}),/*#__PURE__*/e(\"p\",{children:\"That's a wrap for this week and we hope you will benefit from this latest product release. We will be back again with a few more updates. In the meantime, have a great rest of the week - keep building and getting stuff done.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h4\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Sign up\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for a FREE 14-day trial or \"}),/*#__PURE__*/e(n,{href:\"https://calendly.com/d/28j-w6n-x43/get-started-with-paradime?month=2023-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"schedule\"})})}),/*#__PURE__*/e(\"strong\",{children:\" some time with our team to learn more about Paradime \"}),\"\uD83D\uDE80\"]})]});export const richText1=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/t(\"p\",{children:[\"Today we are releasing in public beta one of the biggest functional improvements we have made to the Paradime platform - enter \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/welcome-to-paradime.io/multi-worspaces\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Workspaces\"})})}),/*#__PURE__*/e(\"strong\",{children:\" \uD83E\uDD29\"})]}),/*#__PURE__*/e(\"h3\",{children:\"What is a workspace?\"}),/*#__PURE__*/t(\"p\",{children:[\"A \",/*#__PURE__*/e(\"strong\",{children:\"Paradime Workspace\"}),\" is a self-contained unit where teams can do their analytics work. Each workspace comes with its own repo, users, data warehouse connections, production schedules, alerting, notifications, dbt-version, and integrations.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Paradime Workspace | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"392\",src:\"https://framerusercontent.com/images/MPRTwvYcamurMj6LxzY06LfNNI.png\",srcSet:\"https://framerusercontent.com/images/MPRTwvYcamurMj6LxzY06LfNNI.png?scale-down-to=512 512w,https://framerusercontent.com/images/MPRTwvYcamurMj6LxzY06LfNNI.png 945w\",style:{aspectRatio:\"945 / 785\"},width:\"472\"}),/*#__PURE__*/e(\"p\",{children:\"A workspace maps loosely to an analytics team and their daily work.Everything that someone will do inside a workspace will remain ring-fenced within the workspace.Each workspace can have its own set of users, but users can also be common across workspaces with different permission levels. An example is someone can be an admin in one workspace, a developer in another, and a read-only business user in a third workspace.\"}),/*#__PURE__*/e(\"img\",{alt:\"User setup across Workspaces | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"152\",src:\"https://framerusercontent.com/images/RikQRmXrr8Ek5YZAEglwBMqyQM.png\",srcSet:\"https://framerusercontent.com/images/RikQRmXrr8Ek5YZAEglwBMqyQM.png?scale-down-to=512 512w,https://framerusercontent.com/images/RikQRmXrr8Ek5YZAEglwBMqyQM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/RikQRmXrr8Ek5YZAEglwBMqyQM.png 1218w\",style:{aspectRatio:\"1218 / 305\"},width:\"609\"}),/*#__PURE__*/e(\"p\",{children:\"All workspaces within a company account have the same data residency. So if a company has chosen London (eu-west-2) as their data residency, then all their workspaces and associated data will be located in London.In the future, we will scope all our products on the Paradime platform at a workspace level.\"}),/*#__PURE__*/e(\"h3\",{children:\"Why did we build this?\"}),/*#__PURE__*/e(\"p\",{children:\"At Paradime, we work backwards from the customer or shape the product so that we can fit seamlessly within our user's daily work.\"}),/*#__PURE__*/e(\"p\",{children:\"Last year we saw there was a lot of hype around data mesh. It was not clear what it meant; there was a lot of influencer talk on LinkedIn and at conferences. But I don't think it is still clear to many folks in the industry what data mesh really / truly means. From a product perspective, we saw little development in the market in this regard.\"}),/*#__PURE__*/e(\"p\",{children:\"But from an organizational perspective, we saw many of our customers moving or considering moving to a distributed analytics team from a monolith. Many people call this team structure, hub-and-spoke model or domain-based team model. As companies grow, this is also the abstraction or how BI teams get organized. So, if we have to draw the organization structure around analytics with say, two business units - Sales and Product, it would look something like below.\"}),/*#__PURE__*/e(\"img\",{alt:\"Anatomy of a distributed analytics team\",className:\"framer-image\",height:\"879\",src:\"https://framerusercontent.com/images/bans5uzvRtSTHTdk6gISkOkeg8.png\",srcSet:\"https://framerusercontent.com/images/bans5uzvRtSTHTdk6gISkOkeg8.png?scale-down-to=512 512w,https://framerusercontent.com/images/bans5uzvRtSTHTdk6gISkOkeg8.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/bans5uzvRtSTHTdk6gISkOkeg8.png 2012w\",style:{aspectRatio:\"2012 / 1758\"},width:\"1006\"}),/*#__PURE__*/e(\"p\",{children:\"Analytics teams are getting broken down to better align with the needs of business stakeholders.\"}),/*#__PURE__*/t(\"p\",{children:[\"Analytics work includes providing dashboard-level insights, add/remove/update metrics, dbt\u2122* models, data sources, running jobs and the list goes on. To align with this shift in how teams are getting re-organized and how analytics work is being carried out, we built \",/*#__PURE__*/e(\"strong\",{children:\"Paradime Workspaces.\"})]}),/*#__PURE__*/e(\"img\",{alt:\"Moving from a monolith to a distributed way of working\",className:\"framer-image\",height:\"661\",src:\"https://framerusercontent.com/images/j6tlGXNQhqoHiUBxDBOKgZsFv8.png\",srcSet:\"https://framerusercontent.com/images/j6tlGXNQhqoHiUBxDBOKgZsFv8.png?scale-down-to=512 512w,https://framerusercontent.com/images/j6tlGXNQhqoHiUBxDBOKgZsFv8.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/j6tlGXNQhqoHiUBxDBOKgZsFv8.png 2006w\",style:{aspectRatio:\"2006 / 1322\"},width:\"1003\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Workspaces\"}),\" will allow companies to go from a single / central analytics team to distributed analytics team where the work is distributed too. An equivalent software engineering analogy would be going from single monolith to micro-services architecture.\"]}),/*#__PURE__*/e(\"p\",{children:\"Customers will be able to configure each of their workspaces independently, be it users, dbt-repo and models, production schedules, warehouse connections and integrations.\"}),/*#__PURE__*/e(\"p\",{children:\"Having this level of flexibility is a game-changer for companies looking to deploy analytics platform that is future proof and aligned to business goals. Data leaders will be able to deploy distributed analytics teams faster than ever with minimal resources and no maintenance overhead.\"}),/*#__PURE__*/e(\"h3\",{children:\"How does this work?\"}),/*#__PURE__*/e(\"p\",{children:\"As a customer, when you first create your account, you will have a default workspace or your first workspace to start with.If your plan allows multiple workspaces, then you can see all the workspaces you are a member of from the drop-down in the navigation bar.\"}),/*#__PURE__*/e(\"img\",{alt:\"Switching Paradime Workspaces | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"178\",src:\"https://framerusercontent.com/images/ZSLyCokq716KkRGQK3vWI3LhbDA.gif\",srcSet:\"https://framerusercontent.com/images/ZSLyCokq716KkRGQK3vWI3LhbDA.gif?scale-down-to=512 512w,https://framerusercontent.com/images/ZSLyCokq716KkRGQK3vWI3LhbDA.gif 633w\",style:{aspectRatio:\"633 / 356\"},width:\"316\"}),/*#__PURE__*/t(\"p\",{children:[\"If you are an admin, then you can add / manage all the workspaces by clicking on the \",/*#__PURE__*/e(\"strong\",{children:\"Manage Workspaces\"}),\" menu item.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Creating a Paradime Workspace | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"162\",src:\"https://framerusercontent.com/images/LJLcTr8X6cf0yl1cHrmzRXfhs.gif\",srcSet:\"https://framerusercontent.com/images/LJLcTr8X6cf0yl1cHrmzRXfhs.gif?scale-down-to=512 512w,https://framerusercontent.com/images/LJLcTr8X6cf0yl1cHrmzRXfhs.gif 640w\",style:{aspectRatio:\"640 / 325\"},width:\"320\"}),/*#__PURE__*/e(\"h3\",{children:\"Use-cases\"}),/*#__PURE__*/t(\"p\",{children:[\"With \",/*#__PURE__*/e(\"strong\",{children:\"Workspaces\"}),\", we are unlocking multiple approaches to how analytics teams can work. We have outlined some of the use cases we see among our customers today and we would love to learn more if you think we are missing something.\"]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Enterprise operating in multiple continents like EU and US or medium-sized/mid-market company adopting data mesh\"})}),/*#__PURE__*/e(\"img\",{alt:\"Data mesh using Paradime Workspaces | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"768\",src:\"https://framerusercontent.com/images/k71dWK0eT7Vbkm3VZy7i7tU0FQ.png\",srcSet:\"https://framerusercontent.com/images/k71dWK0eT7Vbkm3VZy7i7tU0FQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/k71dWK0eT7Vbkm3VZy7i7tU0FQ.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/k71dWK0eT7Vbkm3VZy7i7tU0FQ.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/k71dWK0eT7Vbkm3VZy7i7tU0FQ.png 2702w\",style:{aspectRatio:\"2702 / 1536\"},width:\"1351\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Enterprises with operations in multiple countries can setup workspaces located in the EU and US to meet security and local privacy laws, e.g. GDPR. With Paradime workspaces, organizations can have their accounts setup in the EU and US. Customers now get infinite flexibility to organize their dbt\u2122* projects, warehouse connections, users etc. in line with how teams and business stakeholders are structured.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Each workspace can be independently setup and tuned, providing data leaders with the freedom and flexibility to build a global analytics platform.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A Paradime workspace can be connected to multiple data warehouse connections for development and production compared to dbt Cloud\u2122*.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Connected data pipelines across workspaces\"})}),/*#__PURE__*/e(\"img\",{alt:\"Connected pipelines in a data mesh with Paradime Workspaces | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"1172\",src:\"https://framerusercontent.com/images/UB4dqlvuPp8E6mMDqnUXAAUcli0.png\",srcSet:\"https://framerusercontent.com/images/UB4dqlvuPp8E6mMDqnUXAAUcli0.png?scale-down-to=512 512w,https://framerusercontent.com/images/UB4dqlvuPp8E6mMDqnUXAAUcli0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/UB4dqlvuPp8E6mMDqnUXAAUcli0.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/UB4dqlvuPp8E6mMDqnUXAAUcli0.png 2702w\",style:{aspectRatio:\"2702 / 2345\"},width:\"1351\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In a data mesh, people often refer to data products, which are outputs of one workspace that are consumed as inputs in another workspace. Organizations will need to model the dependency between workspaces within their scheduling and orchestration pipelines.Each Paradime workspace can have their own production dbt\u2122* schedules.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Each workspace also comes with its own API key and API secret. With this abstraction in place, data engineers can build the dependency between workspaces as DAGs in their favorite orchestration platform. Then use each DAG and its API-key and API-secret to trigger a schedule run in one workspace when an upstream workspace has completed.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Platform teams can control how the pipeline between connected workspaces will function while analytics teams can setup production dbt\u2122* schedules within their own workspace.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Multiple environments for test/staging and live\"})}),/*#__PURE__*/e(\"img\",{alt:\"Workspaces for Staging/UAT env -><ul id=\",className:\"framer-image\",height:\"548\",src:\"https://framerusercontent.com/images/0kjQU6V4Gvd4FZfcjbqCStuKE.png\",srcSet:\"https://framerusercontent.com/images/0kjQU6V4Gvd4FZfcjbqCStuKE.png?scale-down-to=512 512w,https://framerusercontent.com/images/0kjQU6V4Gvd4FZfcjbqCStuKE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/0kjQU6V4Gvd4FZfcjbqCStuKE.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/0kjQU6V4Gvd4FZfcjbqCStuKE.png 2702w\",style:{aspectRatio:\"2702 / 1096\"},width:\"1351\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"For organizations with many dbt\u2122* projects, upgrading dbt\u2122* versions without any impact on live projects is sometimes a priority for platform teams. Platform teams also like to test out different data warehouse configurations, dbt\u2122* versions, macros, and packages before rolling them out to the rest of the analytics teams.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"With Paradime Workspaces, it's possible to have one workspace where analytics teams are working day-to-day. And another workspace where platform teams can test changes before rolling them out to the live workspace.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Migrating from a monolith to data-mesh architecture\"})}),/*#__PURE__*/e(\"img\",{alt:\"Migrating from monolith to data mesh | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"1172\",src:\"https://framerusercontent.com/images/zFTtwDxIVvAGJnJTmtZ0C7BV55Y.png\",srcSet:\"https://framerusercontent.com/images/zFTtwDxIVvAGJnJTmtZ0C7BV55Y.png?scale-down-to=512 512w,https://framerusercontent.com/images/zFTtwDxIVvAGJnJTmtZ0C7BV55Y.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/zFTtwDxIVvAGJnJTmtZ0C7BV55Y.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/zFTtwDxIVvAGJnJTmtZ0C7BV55Y.png 2702w\",style:{aspectRatio:\"2702 / 2345\"},width:\"1351\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"There are a lot of organizations who are now considering moving from a monolith to a data mesh architecture. During the migration process, they want zero impact / downtime for their data analytics teams.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A Paradime Workspace is dedicated for the monolith project where the majority analytics team will be working. Without disrupting their flow, the platform team can then spin up additional workspaces and migrate to a data-mesh. Once migration is complete, they can deprecate the monolith workspace and move the entire team to their mesh workspaces with zero down-time.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Package development\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Private package:\"}),\" Customers can be doing their daily work on a live dbt\u2122* project while also building and maintaining private packages. With Paradime Workspace, it's possible to have one workspace for analytics and another for dbt\u2122* packages.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Live project with private dbt\u2122* package | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"548\",src:\"https://framerusercontent.com/images/xFHxuWRpGnLKjwCQb65dfOvR0.png\",srcSet:\"https://framerusercontent.com/images/xFHxuWRpGnLKjwCQb65dfOvR0.png?scale-down-to=512 512w,https://framerusercontent.com/images/xFHxuWRpGnLKjwCQb65dfOvR0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/xFHxuWRpGnLKjwCQb65dfOvR0.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/xFHxuWRpGnLKjwCQb65dfOvR0.png 2702w\",style:{aspectRatio:\"2702 / 1096\"},width:\"1351\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Open source package development\"}),\": If you are an OSS enthusiast and want to develop open source dbt-packages for the community, you likely have many dbt\u2122* repos. With Paradime Workspaces, each dbt\u2122* package can live inside a workspace. Since workspaces support multiple warehouse connections, developers can test their package against each warehouse before every release. With a unified development environment, package developers will be able to bring even more utility on top of dbt\u2122*.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Open source dbt\u2122* package development | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"548\",src:\"https://framerusercontent.com/images/LRMoLgplGyWZM97vgCWTC5l78.png\",srcSet:\"https://framerusercontent.com/images/LRMoLgplGyWZM97vgCWTC5l78.png?scale-down-to=512 512w,https://framerusercontent.com/images/LRMoLgplGyWZM97vgCWTC5l78.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/LRMoLgplGyWZM97vgCWTC5l78.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/LRMoLgplGyWZM97vgCWTC5l78.png 2702w\",style:{aspectRatio:\"2702 / 1096\"},width:\"1351\"}),/*#__PURE__*/e(\"h3\",{children:\"Pricing\"}),/*#__PURE__*/e(\"p\",{children:\"We are rolling out a couple of plan changes too. But don't worry - this does not affect any of our existing customers, and nobody will end up in an enterprise tier like dbt Cloud\u2122* price hikes \uD83D\uDE1B.\"}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Starting tier - 1 workspace\"})}),/*#__PURE__*/e(\"p\",{children:\"On our starting tier, there will be a limit of only one workspace. This tier is meant for those who only need one workspace and are not looking to scale beyond that. Organizations just getting started with their dbt\u2122* journey typically fall in this tier. At that stage, multiple projects should not even be necessary - it just complicates matters without adding value.\"}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Growing tier - up to 10 workspaces\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"\u200D\"}),\"In the growing tier, there will be a limit of ten workspaces. Why ten? A company with growing dbt\u2122* workloads is likely to have different business functions like core analytics, finance, people, product, sales, marketing, and may be a few others. This org structure works out to about 10 workspaces to fully cover practical scenarios.\"]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Scaling tier - unlimited workspaces\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"\u200D\"}),\"In the scaling tier, there will be no limit on workspaces. At this stage of dbt\u2122* maturity, organizations can have various structures, processes, and controls. We want to provide these organizations the ultimate flexibility to\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"tune their analytics platform to meet their growing needs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"future-proof their analytics platform\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Comparison with dbt Cloud\u2122*\"}),/*#__PURE__*/e(\"p\",{children:\"The primary differences with dbt-Cloud are as follows:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Warehouses connections:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In dbt Cloud\u2122*, the fundamental unit is a project.Each project has its own dbt\u2122* repo linked to a single data warehouse connection. This setup works quite well for a single repo and single warehouse connection - typically when teams are just getting started in their dbt\u2122* journey. But we increasingly see modern teams using warehouses with different computes in Snowflake to support small and large data sets and optimize cost. In such a scenario, in dbt Cloud\u2122* customers will have to keep creating projects and pay for Enterprise pricing. This platform limitation also leads to unnecessary project duplication even though projects have the same git repo.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In Paradime, the fundamental unit is a workspace. Each workspace supports multiple warehouse connections making Paradime workspaces much more feature-rich and versatile. Team don't have to have unnecessary duplicate projects.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Alerting and Notifications\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In dbt-Cloud, all alerts and notifications for schedules are set at the project level. Notifications from all schedules in a project go to the same Slack channel which leads to alert-fatigue, confusion, and improper triaging of issues.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In Paradime, alerting and notifications are set on a per schedule basis offering much more granular control and faster actioning. The alerts from schedules go to the relevant Slack channel to relevant people leading to more effective actions.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Integrations\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In dbt Cloud\u2122*, customers have to use the administrative and metadata API to build integrations. dbt Cloud\u2122* does not offer out-of-the box integration with MDS apps like Looker, Tableau, Fivetran, Hightouch, etc.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In Paradime, each workspace has their own integrations. For example, a finance analytics workspace can have end-to-end lineage across Fivetran, dbt\u2122*, and Looker, giving those teams all the tools to work independently. Through Paradime workspaces, analytics teams can function end-to-end on their own.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Pricing\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In dbt Cloud\u2122*, only Enterprise customers can have more than one dbt\u2122* project. This forces cash and resource strapped teams to move to local VSCode setups that are hard to build, develop and maintain. For teams without the resources to maintain a local setup, it increases their dbt Cloud\u2122* cost by more than 4-6 times. This is unfair.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"In Paradime, workspace limits across pricing tiers is rational, fair and reasonable and in line with how typical teams are structured.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"Paradime Workspaces unlock a wealth of use cases for our customers. In the coming weeks and months we would be looking deeper into improving that user experience even further. Organizations of any size can now implement data mesh and reach a very high level of technical maturity in their analytics platform.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h4\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Sign up\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for a FREE 14-day trial or \"}),/*#__PURE__*/e(n,{href:\"https://calendly.com/d/28j-w6n-x43/get-started-with-paradime?month=2023-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"schedule\"})})}),/*#__PURE__*/e(\"strong\",{children:\" some time with our team to learn more about Paradime \"}),\"\uD83D\uDCAA\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText2=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/t(\"p\",{children:[\"Welcome to another edition of what we shipped. This one is a bit special because this will be our last shipment for Paradime v2.0. Yep, you heard it right - \",/*#__PURE__*/e(\"strong\",{children:\"Paradime v3.0 is coming very, very soon\"}),\" \uD83D\uDE80 \uD83E\uDD29.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Use prod data and schema during development\"}),/*#__PURE__*/e(\"h5\",{children:\"Problem definition\"}),/*#__PURE__*/e(\"p\",{children:\"Most analytics engineers work with development data that is stale and even worse, they don't know about it \uD83D\uDE31. Let's rewind that a bit. Organizations using dbt\u2122*, run production jobs that update their production data warehouse continuously throughout the day. During those runs, the prod warehouse has the freshest schema and freshest data.\"}),/*#__PURE__*/e(\"img\",{alt:\"Problem of working with stale data | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"724\",src:\"https://framerusercontent.com/images/4hGge31fP1mTe3OFHGVfgcVRc.png\",srcSet:\"https://framerusercontent.com/images/4hGge31fP1mTe3OFHGVfgcVRc.png?scale-down-to=512 512w,https://framerusercontent.com/images/4hGge31fP1mTe3OFHGVfgcVRc.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/4hGge31fP1mTe3OFHGVfgcVRc.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/4hGge31fP1mTe3OFHGVfgcVRc.png 3741w\",style:{aspectRatio:\"3741 / 1449\"},width:\"1870\"}),/*#__PURE__*/e(\"p\",{children:\"Regarding building dbt\u2122* models during development, analyst use the development schema and dev warehouse. The dev warehouse typically only has partial data or schema. Some orgs refresh the dev warehouse nightly with partial or full replication of prod to keep dev current. In some other orgs, analysts run a black box script to copy prod to dev before they start work every morning. Whatever the scenario, users always run into the problem that during working during the day, the dev schema falls behind prod.\"}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/e(\"p\",{children:\"When you are working in a large team with 20 or more analytics engineers, commits happen throughout the day and there are some pipelines that run every 10 minutes. So every 10 minutes, dev can fall behind prod.\"})}),/*#__PURE__*/e(\"p\",{children:\"This disconnect between prod and dev leads to the following consequences:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Building and testing dbt\u2122* models with changing data and / or schema of upstream dependencies becomes tedious and time consuming. One needs to always manually refresh dev with prod schema or build all models in dev again.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The business logic you have built and tested is faulty because you have used synthetic data and not real data. e.g., you have only pivoted across allowable values in a column in dev, but prod has more possibilities.\"})})]}),/*#__PURE__*/e(\"h5\",{children:\"Existing solutions\"}),/*#__PURE__*/e(\"img\",{alt:\"How to use prod data in dev workflow? | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"548\",src:\"https://framerusercontent.com/images/SvoLd3tgU8C8uNh0NJ32aGdGs8A.png\",srcSet:\"https://framerusercontent.com/images/SvoLd3tgU8C8uNh0NJ32aGdGs8A.png?scale-down-to=512 512w,https://framerusercontent.com/images/SvoLd3tgU8C8uNh0NJ32aGdGs8A.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/SvoLd3tgU8C8uNh0NJ32aGdGs8A.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/SvoLd3tgU8C8uNh0NJ32aGdGs8A.png 3304w\",style:{aspectRatio:\"3304 / 1097\"},width:\"1652\"}),/*#__PURE__*/e(\"p\",{children:\"Currently, there are a few ways one can go about this with varying degrees of success:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Cloning prod to dev:\"}),\" If you are a dbt Core\u2122* user with a local setup, you can spend about 10 - 20 minutes/developer/day cloning prod to dev on Snowflake - might take longer on Redshift, BigQuery or Databricks and do this multiple times during the day.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Using defer +state:modified:\"}),\" Keep downloading the most recent manifest.json as many times as you like and replacing your local one - pretty tedious, annoying, and can easily take 20mins/dev/day assuming you do this ~5 times per day.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"using dbt-Cloud:\"}),\" sorry, this is not possible in dbt Cloud\u2122* \uD83D\uDE1E.\"]})})]}),/*#__PURE__*/e(\"h5\",{children:\"The Paradime way \uD83D\uDD25\"}),/*#__PURE__*/e(\"p\",{children:\"At Paradime, we want to provide our customers with the ultimate flexibility in getting their stuff done. Our customers push the boundaries of what is possible. They don't have time and they want to challenge the status quo.\"}),/*#__PURE__*/e(\"p\",{children:\"So, our customers, when they run their production dbt\u2122* jobs on Paradime, can now in a single dbt\u2122* command, develop continuously using production data and production schema as can be seen from the graphic below:\"}),/*#__PURE__*/e(\"img\",{alt:\"Paradime modified --defer --schedule-name | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"1385\",src:\"https://framerusercontent.com/images/4ge5k1qQzMaBOqxJTQf4ts0DEE.png\",srcSet:\"https://framerusercontent.com/images/4ge5k1qQzMaBOqxJTQf4ts0DEE.png?scale-down-to=512 512w,https://framerusercontent.com/images/4ge5k1qQzMaBOqxJTQf4ts0DEE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/4ge5k1qQzMaBOqxJTQf4ts0DEE.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/4ge5k1qQzMaBOqxJTQf4ts0DEE.png?scale-down-to=4096 4096w,https://framerusercontent.com/images/4ge5k1qQzMaBOqxJTQf4ts0DEE.png 5433w\",style:{aspectRatio:\"5433 / 2770\"},width:\"2716\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Paradime modified --defer --schedule-name \"}),\"| Analytics Engineering using dbt\u2122\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"Paradime customers just need to add the \",/*#__PURE__*/e(\"strong\",{children:\"--defer --schedule-name=<bolt-schedule-name>\"}),\" modifier at the end of their dbt\u2122* run command and we will take care of fetching and replacing local manifest.json. We will do this with zero overhead for the customer while improving the development experience by orders of magnitude.\"]}),/*#__PURE__*/e(\"p\",{children:\"Currently, this is a fairly advanced feature. In a next iteration, we are going to make this even more user-friendly, so that platform leaders can roll this out to their entire analytics team with zero training or learning overhead.\"}),/*#__PURE__*/e(\"p\",{children:\"So if you move your dbt\u2122* production jobs to the Paradime Bolt scheduler, this feature can be used straightaway.\"}),/*#__PURE__*/e(\"h3\",{children:\"Bolt runtime variables\"}),/*#__PURE__*/e(\"p\",{children:\"In Paradime Bolt, we now expose a set of runtime variables that can be injected as separate columns into materialized tables through the dbt\u2122* Jinja-SQL. The variables are:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"PARADIME_WORKSPACE_NAME (the Paradime workspace from where the job was triggered)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"PARADIME_SCHEDULE_NAME (the Bolt schedule name that triggered the job)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"PARADIME_SCHEDULE_RUN_ID (the Bolt run-id that wrote the data in the table)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"PARADIME_SCHEDULE_RUN_START_DTTM (the date and time when the run started)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"PARADIME_SCHEDULE_TRIGGER (one of scheduler, manual from user@email.com, API, TURBO CI)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"PARADIME_SCHEDULE_GIT_SHA (the commit SHA from git)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"DBT_MODEL_VERSION (experimental placeholder for dbt\u2122* v1.5.x)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"These variables can be referenced like standard environment variables in dbt\u2122* model SQL.\"}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"That's all for now as we prepare for Paradime v3.0 and we hope you will benefit from this latest product release. We will be back again with a few more updates. In the meantime, have a great rest of the week - keep building and getting stuff done.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Sign up\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for a FREE 14-day trial or \"}),/*#__PURE__*/e(n,{href:\"https://calendly.com/d/28j-w6n-x43/get-started-with-paradime?month=2023-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"schedule\"})})}),/*#__PURE__*/e(\"strong\",{children:\" some time with our team to learn more about Paradime \"}),\"\uD83D\uDCAA\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText3=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/e(\"p\",{children:\"Last month, some of us were at the Snowflake Summit in Las Vegas meeting customers, prospects, and peers from the analytics community. We have also been busy polishing a few rough edges around the product. However, despite all of that we have not stopped building. This release has a few important updates. But there will be more exciting announcements over the coming weeks. In the meantime, here we go \uD83E\uDD73.\"}),/*#__PURE__*/e(\"h3\",{children:\"Public help docs\"}),/*#__PURE__*/t(\"p\",{children:[\"Paradime application help docs are now public and have a new home at \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://docs.paradime.io\"})}),\". In the past we had a pretty scrappy setup. We hosted our docs in Docker container behind an auth layer, and used the open source Docusaurus. However, the search experience, sharing links freely with our users, and prospects / visitors to our website was a constant pain.\"]}),/*#__PURE__*/t(\"p\",{children:[\"With the new docs we have adopted \",/*#__PURE__*/e(n,{href:\"https://www.gitbook.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Gitbook \"})}),\"and it has now made getting help easier than ever.\"]}),/*#__PURE__*/e(\"h5\",{children:\"Search help docs\"}),/*#__PURE__*/e(\"p\",{children:\"Gitbook comes with a powerful search engine powered by AI. The moment you open the search panel, you can immediately view a set of questions to ask. Search results also have followup questions so that the whole experience feels intuitive, natural, and easy.\"}),/*#__PURE__*/e(\"img\",{alt:\"Public help docs | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"176\",src:\"https://framerusercontent.com/images/Js9PrJxSso2w0frTcY5mHW7iAX4.png\",srcSet:\"https://framerusercontent.com/images/Js9PrJxSso2w0frTcY5mHW7iAX4.png?scale-down-to=512 512w,https://framerusercontent.com/images/Js9PrJxSso2w0frTcY5mHW7iAX4.png 829w\",style:{aspectRatio:\"829 / 353\"},width:\"414\"}),/*#__PURE__*/e(\"h5\",{children:\"Search in-app\"}),/*#__PURE__*/e(\"p\",{children:\"Searching for docs on the Paradime platform has also gotten so much easier. We have now integrated the help docs with our Command bar (\u2318 / Ctrl + K) for in-app search.\"}),/*#__PURE__*/t(\"p\",{children:[\"Just type \",/*#__PURE__*/e(\"strong\",{children:\"/help\"}),\" and you have all the help docs available at your fingertips to search and read through.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Snowflake key-pair authentication\"}),/*#__PURE__*/e(\"p\",{children:\"Paradime users can now use Snowflake Key-Pair Authentication to set up both development and production warehouse connections.\"}),/*#__PURE__*/e(\"img\",{alt:\"Snowflake key-pair authentication | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"448\",src:\"https://framerusercontent.com/images/RVA6xpbxspPbnqd4PiIekZs.png\",srcSet:\"https://framerusercontent.com/images/RVA6xpbxspPbnqd4PiIekZs.png?scale-down-to=512 512w,https://framerusercontent.com/images/RVA6xpbxspPbnqd4PiIekZs.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/RVA6xpbxspPbnqd4PiIekZs.png 1371w\",style:{aspectRatio:\"1371 / 897\"},width:\"685\"}),/*#__PURE__*/t(\"p\",{children:[\"This authentication type is useful for production connections. It offers a user-credentials-agnostic way of connecting production warehouse connections. More details are available in our \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/connections/connect-to-your-data-warehouse/production-environment/snowflake-connection#using-key-pair-authentication\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"docs\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"New Paradime CLI commands\"}),/*#__PURE__*/e(\"p\",{children:\"Setting up a Paradime workspace from scratch with an empty repository used to be quite a pain. When we started most of our user-base already had a dbt\u2122 repository. Now, with companies moving from monolithic to data-mesh and multi-workspace setup we are now seeing more and more customers starting a workspace from scratch with an empty repo. To help them get up and running quickly, we have now introduced two new CLI commands.\"}),/*#__PURE__*/e(\"h5\",{children:\"Initialize your dbt\u2122\uFE0F project\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"Running \",/*#__PURE__*/e(\"strong\",{children:\"paradime repo init \"}),\"will:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Create a new branch called \",/*#__PURE__*/e(\"strong\",{children:\"initialize-dbt-project\"}),\"\u200D\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ask you to name your dbt\u2122 project\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Create a dbt\u2122 project skeleton with all the dbt\u2122\uFE0F folders and files such as the dbt_project.yml etc.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Create a \",/*#__PURE__*/e(\"strong\",{children:\"paradime_schedules.yml\"}),\" to help you get started with your dbt\u2122\uFE0F production run. You can find more info here on \",/*#__PURE__*/e(n,{href:\"/app-help/bolt-scheduler/running-dbt-tm-in-production\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"running dbt\u2122\uFE0F in production\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Optionally, you will be able to also \",/*#__PURE__*/e(\"strong\",{children:\"generate sources.yml\"}),\" files based on your development connection for selected schema/datasets.\"]})})]}),/*#__PURE__*/e(\"h5\",{children:\"Generate your sources.yml\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"Running this CLI command in your terminal will:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Select the database where your source data is stored\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Then select for which schema you want to generate your sources.yml file\"})})]}),/*#__PURE__*/e(\"p\",{children:\"These CLI commands can save teams countless days trying to build those sources.yml files for tables with hundreds of columns.\"}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/t(\"p\",{children:[\"We shipped a few important usability improvements in this release. And there are a few more important updates coming next week on APIs and even more flexibility regarding Paradime Bolt schedules. So stay tuned as we move into Q3-2023.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"\u200D\"]}),/*#__PURE__*/t(\"h4\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Sign up\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for a FREE 14-day trial or \"}),/*#__PURE__*/e(n,{href:\"https://calendly.com/d/28j-w6n-x43/get-started-with-paradime?month=2023-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"schedule\"})})}),/*#__PURE__*/e(\"strong\",{children:\" some time with our team to learn more about Paradime \"}),\"\uD83D\uDCAA\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText4=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/e(\"p\",{children:\"It's already been two months since July, when we put out our last stuff we shipped, and it feels like ages ago. Over the last year or so, we have been rolling out features fast and furious, and we needed to take a pit stop to look into the finer details. The found needles in a haystack, little hard-to-find things that have a massive impact on the end user experience. We need a separate post for the 30+ small things we fixed that you used to cause user frustration. In the meantime, however, we did not stop building. \"}),/*#__PURE__*/e(\"p\",{children:\"So, today I want to talk about 2 things we are announcing:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Product spotlight on our Code IDE search experience.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Paradime Live v2.0 - the next iteration of our just-in-time (JIT) dbt\u2122 compiler - faster, resilient, and more robust than before.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Outgoing Webhooks from Paradime to any 3rd-party application unlocking thousands of use cases.\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Search experience in Code IDE\"}),/*#__PURE__*/e(\"p\",{children:\"Search is one of the most fundamental user actions in a code editor and yet lacking in many cloud-based editors for dbt\u2122 development. With powerful search, analytics, engineers develop faster than ever before on Paradime compared to other cloud IDEs like dbt Cloud\u2122.\"}),/*#__PURE__*/e(\"p\",{children:\"In Paradime, analysts can:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Search in a file using \u2318 / Ctrl + F\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Search across files using case-sensitive, insensitive, and regular expressions and select which files should be included or excluded while you search\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Replace and replace all when you search\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Search for files across your repo\"})})]}),/*#__PURE__*/e(\"img\",{alt:\"Paradime Live v2.0 | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"223\",src:\"https://framerusercontent.com/images/t0jqHI7dq8uxc2wHNjKY56NgrZE.png\",srcSet:\"https://framerusercontent.com/images/t0jqHI7dq8uxc2wHNjKY56NgrZE.png?scale-down-to=512 512w,https://framerusercontent.com/images/t0jqHI7dq8uxc2wHNjKY56NgrZE.png 592w\",style:{aspectRatio:\"592 / 446\"},width:\"296\"}),/*#__PURE__*/e(\"p\",{children:\"When users change or update environment variables, dbt_project.yml and other settings that have a global impact, we re-compile the entire project so that fresh compiled files are available quickly.\"}),/*#__PURE__*/e(\"p\",{children:\"We do the compilation in a separate process with its own cpu and memory allocation to handle projects of any size and complexity.\"}),/*#__PURE__*/e(\"p\",{children:\"We have refreshed the UI too, so that now users can see exactly what is going on with informative zero states.\"}),/*#__PURE__*/e(\"p\",{children:\"This is a ground-breaking architecture change and an incredible achievement by the entire team to pull this off in a matter of weeks.\"}),/*#__PURE__*/e(\"h3\",{children:\"Outgoing Webhooks\"}),/*#__PURE__*/e(\"p\",{children:\"Webhooks are a way for an app to provide other applications with real-time information. When an event happens in one application, a webhook can notify another application that is set up to receive notifications. This allows applications to communicate and share data in real time.\"}),/*#__PURE__*/e(\"p\",{children:\"Outgoing webhooks are now live for all customers in the Growing Tier onwards. We are starting with 2 events as follows:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"bolt.run.started - triggered when a Bolt run is started\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"bolt.run.completed - triggered when a Bolt run is completed\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"How does it work?\"})}),/*#__PURE__*/e(\"p\",{children:\"Customers just need to add a webhook endpoint, and subscribe to the events they want us to post to that endpoint, and that's it.\"}),/*#__PURE__*/e(\"img\",{alt:\"Outgoing Webhooks | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"253\",src:\"https://framerusercontent.com/images/2JX03ecK74FTQWuCtkvTXkXErI.png\",srcSet:\"https://framerusercontent.com/images/2JX03ecK74FTQWuCtkvTXkXErI.png?scale-down-to=512 512w,https://framerusercontent.com/images/2JX03ecK74FTQWuCtkvTXkXErI.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/2JX03ecK74FTQWuCtkvTXkXErI.png 1059w\",style:{aspectRatio:\"1059 / 507\"},width:\"529\"}),/*#__PURE__*/e(\"img\",{alt:\"Outgoing Webhooks | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"515\",src:\"https://framerusercontent.com/images/upA8e1YPS05aZEpPZCwtIrFAoU.png\",srcSet:\"https://framerusercontent.com/images/upA8e1YPS05aZEpPZCwtIrFAoU.png?scale-down-to=512 512w,https://framerusercontent.com/images/upA8e1YPS05aZEpPZCwtIrFAoU.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/upA8e1YPS05aZEpPZCwtIrFAoU.png 1059w\",style:{aspectRatio:\"1059 / 1030\"},width:\"529\"}),/*#__PURE__*/e(\"p\",{children:\"Depending on use-case, users can enable rate-limiting and custom headers, too.\"}),/*#__PURE__*/e(\"img\",{alt:\"Outgoing Webhooks | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"111\",src:\"https://framerusercontent.com/images/ZX7SZ4nhZ4MYrKL1ueq1l9XAGrU.png\",srcSet:\"https://framerusercontent.com/images/ZX7SZ4nhZ4MYrKL1ueq1l9XAGrU.png?scale-down-to=512 512w,https://framerusercontent.com/images/ZX7SZ4nhZ4MYrKL1ueq1l9XAGrU.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/ZX7SZ4nhZ4MYrKL1ueq1l9XAGrU.png 1059w\",style:{aspectRatio:\"1059 / 222\"},width:\"529\"}),/*#__PURE__*/e(\"p\",{children:\"In the event catalog tab, we show all the details of the events and what the response schema looks like.\"}),/*#__PURE__*/e(\"img\",{alt:\"Outgoing Webhooks | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"440\",src:\"https://framerusercontent.com/images/4arIL3GEbCGEuHegJ6rpo2o72Ig.png\",srcSet:\"https://framerusercontent.com/images/4arIL3GEbCGEuHegJ6rpo2o72Ig.png?scale-down-to=512 512w,https://framerusercontent.com/images/4arIL3GEbCGEuHegJ6rpo2o72Ig.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/4arIL3GEbCGEuHegJ6rpo2o72Ig.png 1079w\",style:{aspectRatio:\"1079 / 881\"},width:\"539\"}),/*#__PURE__*/e(\"p\",{children:\"In the logs and activity tab, all audit and activity logs are available out of the box so that users can jump of message and troubleshoot.\"}),/*#__PURE__*/e(\"img\",{alt:\"Outgoing Webhooks | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"440\",src:\"https://framerusercontent.com/images/sY8AVDhT5YfPq3DXfNwwHI3sA.png\",srcSet:\"https://framerusercontent.com/images/sY8AVDhT5YfPq3DXfNwwHI3sA.png?scale-down-to=512 512w,https://framerusercontent.com/images/sY8AVDhT5YfPq3DXfNwwHI3sA.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/sY8AVDhT5YfPq3DXfNwwHI3sA.png 1079w\",style:{aspectRatio:\"1079 / 881\"},width:\"539\"}),/*#__PURE__*/e(\"h5\",{children:\"Use cases\"}),/*#__PURE__*/e(\"p\",{children:\"Using webhooks, we are already seeing our customers unlock new use cases previously not possible, for example:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Get a notification for a failed dbt\u2122 run in Slack as a message and for every additional failure of the same schedule, get notified as threads\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Get notified of run statuses in Microsoft Teams\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Create incidents in \",/*#__PURE__*/e(n,{href:\"https://www.pagerduty.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"PagerDuty\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.atlassian.com/software/opsgenie\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"OpsGenie\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.splunk.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Splunk\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://incident.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"incident.io\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://firehydrant.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"FireHydrant\"})}),\" or other tools if a schedule fails\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Create custom notifications in \",/*#__PURE__*/e(n,{href:\"https://slack.com/intl/en-gb/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Slack \"})}),\"or \",/*#__PURE__*/e(n,{href:\"https://www.microsoft.com/en-gb/microsoft-teams/group-chat-software\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Teams\"})}),\" depending on schedule name, schedule severity \"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"When schedule fails, automatically create tickets in \",/*#__PURE__*/e(n,{href:\"https://www.atlassian.com/software/jira\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Jira\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://linear.app/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Linear\"})}),\", or any other tool and assign the ticket to the schedule owner\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Hook up to \",/*#__PURE__*/e(n,{href:\"https://zapier.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Zapier\"})}),\" or \",/*#__PURE__*/e(n,{href:\"https://www.make.com/en\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"make.com\"})}),\" and connect to 1000+ applications and unlock infinite possibilities.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"This is it for now, but we have some pretty cool stuff coming up for analytics teams in the next few days. For folks heading to Coalesce, Fabio and Parker will be there so please drop by to say hi or to know more about Paradime.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText5=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/t(\"p\",{children:['Welcome to the November edition of \"what we shipped\". Luckily for our users, there are going to be ',/*#__PURE__*/e(\"strong\",{children:\"three\"}),\" \uD83D\uDE80 ships this month because it was very hard to put everything together in a single place, \uD83E\uDD29.\"]}),/*#__PURE__*/e(\"p\",{children:\"In the last few weeks, the team has put in some ridiculous amount of work to enhance the developer experience in the Paradime Code IDE. Alongside, we have introduced new features in our CI/CD to help teams save costs during analytics development.\"}),/*#__PURE__*/e(\"p\",{children:\"The overarching theme is we want analysts using Paradime to be 50%+ faster compared to other platforms. So without further ado, here it goes.\"}),/*#__PURE__*/e(\"h3\",{children:\"Code IDE\"}),/*#__PURE__*/e(\"h5\",{children:\"Run part of SQL\"}),/*#__PURE__*/e(\"p\",{children:\"Paradime users can now select, compile, and preview data for a part of SQL in any model or CTE. Users can query any selection of a large dbt\u2122 model and view the corresponding compiled SQL and data all from a single place. This has been an often-asked-for feature that teams needed to speed up their analytics game.\"}),/*#__PURE__*/e(\"img\",{alt:\"Run part of SQL | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"216\",src:\"https://framerusercontent.com/images/ZlubJAT7DYcvQ0nQra6qDBIoqRk.gif\",srcSet:\"https://framerusercontent.com/images/ZlubJAT7DYcvQ0nQra6qDBIoqRk.gif?scale-down-to=512 512w,https://framerusercontent.com/images/ZlubJAT7DYcvQ0nQra6qDBIoqRk.gif 800w\",style:{aspectRatio:\"800 / 433\"},width:\"400\"}),/*#__PURE__*/e(\"h5\",{children:\"Copy filename as ref\"}),/*#__PURE__*/e(\"p\",{children:\"A very useful productivity hack, especially if you have long file names. Users can right-click on a file in the file explorer and copy and paste the filename as ref. Users don't have to manually copy the filename or type it out in IDE anymore.\"}),/*#__PURE__*/e(\"img\",{alt:\"Copy filename as ref | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"584\",src:\"https://framerusercontent.com/images/yacobJSWRVcI6MrGPS8zC0e7wao.png\",srcSet:\"https://framerusercontent.com/images/yacobJSWRVcI6MrGPS8zC0e7wao.png?scale-down-to=512 512w,https://framerusercontent.com/images/yacobJSWRVcI6MrGPS8zC0e7wao.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/yacobJSWRVcI6MrGPS8zC0e7wao.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/yacobJSWRVcI6MrGPS8zC0e7wao.png 2084w\",style:{aspectRatio:\"2084 / 1168\"},width:\"1042\"}),/*#__PURE__*/e(\"h5\",{children:\"Lineage of any depth in the IDE\"}),/*#__PURE__*/e(\"p\",{children:\"The lineage in the IDE always showed the first upstream and downstream nodes. To view the whole lineage, the user would have to navigate away from the IDE to the Lineage app. That's a context switch and users would have to do many back-and forth, adding friction to their development process. Well, not anymore. \"}),/*#__PURE__*/e(\"p\",{children:\"In the Code IDE, users can now choose any or all node depths they want to see in the lineage. Users can independently choose the node depth upstream and downstream.\"}),/*#__PURE__*/e(\"p\",{children:\"Users who have connected their BI, can also now see their entire cross-platform lineage during development in real time. For example, when one is developing or refactoring their dbt\u2122 models, users will see the entire lineage all the way to their dashboards. They will be able to make informed decisions, shift-left the development process, and ship higher-quality, reliable code. More reliable code means less likely to break dashboards, less likely to create data incidents.\"}),/*#__PURE__*/e(\"img\",{alt:\"Merge conflict | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"707\",src:\"https://framerusercontent.com/images/H8MfmZuvzVz0XGAbh8Z6riKvIk.png\",srcSet:\"https://framerusercontent.com/images/H8MfmZuvzVz0XGAbh8Z6riKvIk.png?scale-down-to=512 512w,https://framerusercontent.com/images/H8MfmZuvzVz0XGAbh8Z6riKvIk.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/H8MfmZuvzVz0XGAbh8Z6riKvIk.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/H8MfmZuvzVz0XGAbh8Z6riKvIk.png 2658w\",style:{aspectRatio:\"2658 / 1414\"},width:\"1329\"}),/*#__PURE__*/e(\"h5\",{children:\"YAML validation\"}),/*#__PURE__*/t(\"p\",{children:[\"Working with YAML is a pain - not gonna lie. But it's an extra pain without any validation. Thankfully, YAML files provide a mechanism using \",/*#__PURE__*/e(n,{href:\"https://json-schema.org/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"JSON Schema\"})}),\" to add validation so that users make fewer mistakes and get more real-time feedback. JSON Schema validation is now available across all dbt\u2122 YAML files powered by the awesome \",/*#__PURE__*/e(n,{href:\"https://github.com/dbt-labs/dbt-jsonschema\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"schema\"})}),\" developed by the dbt Labs\u2122 team. The same kind of validation is also available for bolt schedules to ease the process of creating git-tracked schedules.\"]}),/*#__PURE__*/e(\"img\",{alt:\"YAML validation | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"216\",src:\"https://framerusercontent.com/images/7H2zEY6r7GeX3EKEYSh0wmSuXX4.gif\",srcSet:\"https://framerusercontent.com/images/7H2zEY6r7GeX3EKEYSh0wmSuXX4.gif?scale-down-to=512 512w,https://framerusercontent.com/images/7H2zEY6r7GeX3EKEYSh0wmSuXX4.gif 800w\",style:{aspectRatio:\"800 / 433\"},width:\"400\"}),/*#__PURE__*/e(\"h5\",{children:\"Switching to Git Lite and dark mode\"}),/*#__PURE__*/e(\"p\",{children:\"Previously, switching between Git Lite and Git advanced or toggling light and dark modes was a pain as the settings were two levels deep. Users had to go through File menu > User preferences and then choose settings. We have gotten rid of all of those steps and now in a single click users can:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Switch from git lite and git advanced\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Toggle on and off dark mode\"})})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Turbo CI/CD\"}),/*#__PURE__*/e(\"p\",{children:\"In this release, Turbo CI is also getting a few impactful and much-needed upgrades around the life cycle of pull requests.\"}),/*#__PURE__*/e(\"p\",{children:\"We have now modified the behavior of CI/CD so that:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'When a PR is raised in \"draft\", no CI checks are triggered'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'When a PR moves from \"draft\" to \"ready for review\", CI checks are triggered'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'When a PR moves from \"ready for review\" to \"draft\", CI checks are canceled'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'When a commit is pushed into an \"open\" PR, existing CI checks are canceled'})})]}),/*#__PURE__*/e(\"p\",{children:\"These changes are what our customers conceptually expect and also help save warehouse compute costs during analytics development.\"}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"The Paradime IDE experience is evolving rapidly. We are seeing users work 50 - 87% faster on Paradime compared to their previous experience on other platforms or in-house solutions. Teams using Paradime as a result are making a business impact and not wasting time on low-value work. In the next edition, we are going to share a few more updates that are making development faster on Paradime.\"})]});export const richText6=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:['Welcome to the \"NBA\\xa0Challenge Rewind\"\\xa0series \uD83D\uDE4C',/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"This blog series will showcase the \u201Cbest of\u201D submissions from Paradime\u2019s NBA Data Modeling Challenges, highlighting the remarkable data professionals behind them. \"]}),/*#__PURE__*/t(\"p\",{children:[\"If you\u2019re unfamiliar with the NBA Data Modeling Challenge, enrich your series experience by exploring these essential resources:\",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=f320pTqpz7w\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" the challenge introduction video\"})}),\" and\",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/basketball-by-the-numbers-insights-from-paradimes-nba-data-modeling-challenge\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" the winner\u2019s announcement blog\"})}),\". They offer valuable background information to help you fully appreciate the insights shared in this series.\"]}),/*#__PURE__*/e(\"p\",{children:'In each \"NBA Challenge Rewind\"\\xa0blog, you\u2019ll discover:'}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Key NBA insights\"}),\": Uncover the valuable insights participants derived from historical NBA datasets, revealing hidden stories within the game.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Analytics Engineering best practices\"}),\": Learn about the participants' approach to project execution, from initial analysis to final insights, including their coding techniques (SQL, dbt\u2122) and the innovative use of tools (Paradime, Snowflake, data visualization).\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A Personal Touch\"}),\": Get to know the motivations, backgrounds, and personal narratives of the analytics professionals who bring the NBA data to life.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A personal invitation to Paradime's next challenge\"}),\": We're moving from the basketball court to the cinema\u2014get your popcorn ready! \uD83C\uDF7F\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"Let\u2019s check our sixth installment, exploring \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/chavhu/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Chris Hughes\"})}),\" and his \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/README.md\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"submission\"})}),\"!\"]}),/*#__PURE__*/t(\"h2\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Chris\u2019\"}),\" path to the challenge\"]}),/*#__PURE__*/t(\"p\",{children:[\"Hey There! My name is\",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/chavhu/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Chris Hughes\"})}),\", a data analytics expert specializing in marketing, product, and operations strategies for various companies. I recently moved to LA, where I'm running\",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/hughes-analytics/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Hughes Analytics\"})}),\", a consulting service that supports businesses with their data engineering and analytics needs.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"I learned about the NBA Data Modeling Challenge through a LinkedIn post, and I saw it as a perfect opportunity to add a comprehensive analytics engineering project to my portfolio and to learn new tools like\",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Paradime\"})}),\". Going into the challenge, my goal was to win, and I'm thrilled to share that I placed second and won a $1,000 Amazon gift card!\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"p\",{children:\"In this blog, I'll share the journey of building my project, as well as the insights I uncovered!\"}),/*#__PURE__*/e(\"h3\",{children:\"Toolkit for success\"}),/*#__PURE__*/e(\"p\",{children:\"To tackle this challenge, I utilized a mix of required and optional data tools:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Required Tools:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Snowflake for Data Warehousing and Computation\"}),\": Having used\",/*#__PURE__*/e(n,{href:\"https://www.snowflake.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Snowflake\"})}),\" on both personal and client projects for years, I navigated this tool with ease, which was crucial for efficiently handling large datasets.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Paradime for dbt Development\"}),\": This was my first time using\",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Paradime\"})}),\", and I found the learning curve almost non-existent. Its VSCode-like interface makes it easy to manage and build dbt projects.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Sigma for Data Visualization\"}),\": Having helped several clients build self-serve dashboards with\",/*#__PURE__*/e(n,{href:\"https://www.sigmacomputing.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Sigma\"})}),\", using it for this challenge was a no-brainer! It enabled me to visually present complex data insights clearly.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Optional Tools:\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Python for Predictive Modeling\"}),\": I integrated Python to develop a \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/python_scripts/salary_prediction_model.py\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"predictive model\"})}),\" for player salaries, aiming to determine if players were under or over-performing relative to their compensation.\"]}),/*#__PURE__*/e(\"p\",{children:\"Now, let\u2019s take a look at how I built my project!\"}),/*#__PURE__*/e(\"h3\",{children:\"Building my project\"}),/*#__PURE__*/e(\"p\",{children:\"I began my project by identifying my primary audience: NBA General Managers. I brainstormed potential insights that could assist them in assembling the best teams possible, focusing on key areas such as:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Team Performance vs. Financials\"}),\": Exploring the impact of team payroll on overall performance and strategies for GMs to maximize the value of their team payroll.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Player Performance vs. Financials\"}),\": Investigating how individual salaries influence player performance and how GMs can identify optimal signing choices and pricing.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Typical Player Lifecycle\"}),\": Analyzing changes in player performance throughout their careers to determine the most strategic points for GMs to sign players.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Evolution of the Game\"}),\": Understanding how the NBA is evolving and identifying ways for GMs to stay ahead of the curve.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"Next, I conducted a thorough review of the \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/tree/main/models/sources\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"seven historical NBA datasets\"})}),\" provided by Paradime. These datasets generally supported my insights, but to enhance the depth of my analysis, I integrated two additional datasets:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/sources/stg_salary_cap_by_season.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Salary Cap by Season\"})})}),\": This dataset includes the maximum NBA salary cap for each season, along with the minimum and maximum salaries players could earn under the NBA\u2019s collective bargaining agreement (CBA), sourced from\",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/sources/stg_salary_cap_by_season.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Spotrac\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/sources/stg_inflation_data.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Inflation Data\"})})}),\": Annual inflation rates based on the Consumer Price Index (CPI) from the\",/*#__PURE__*/e(n,{href:\"https://www.bls.gov/cpi/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Bureau of Labor Statistics\"})}),\", crucial for making equitable comparisons of player salary data across different seasons.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Once I had gathered all the necessary data, I began constructing my dbt models in Paradime and visualizing the insights. However, before we explore these insights, let's first delve into the inevitable and necessary challenges I encountered before submitting my project.\"}),/*#__PURE__*/e(\"h3\",{children:\"Navigating challenges\"}),/*#__PURE__*/e(\"p\",{children:\"Data projects invariably come with challenges, and the NBA Data Modeling Challenge was no exception.\"}),/*#__PURE__*/t(\"p\",{children:[\"One of the primary challenges I faced was \",/*#__PURE__*/e(\"strong\",{children:\"managing my time effectively\"}),\". With a multitude of potential insights to explore, prioritization became crucial. At one point, I discovered I was missing data that could have significantly enhanced my project. However, given the constraints, I decided to omit this aspect, as creating the API connection, cleaning the data, and integrating it with other data sources would have required more time than I had available.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"Additionally, I allocated a substantial amount of time to developing one of my predictive models,\",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/README.md#player-performance-vs-salary\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Player Performance vs Salary\"})}),\". While this analysis proved valuable, it was only one component of the broader project. If I could do it over again, I would have\\xa0 allocated more of that time to other insights.\\xa0\"]}),/*#__PURE__*/t(\"p\",{children:[\"Another major challenge was \",/*#__PURE__*/e(\"strong\",{children:\"crafting a story\"}),\". I didn\u2019t want my project to be just a collection of disparate insights; instead, I aimed to weave a compelling story where each analysis built upon the previous one. Achieving this required multiple iterations of data analysis, refining the written insights, and drawing clear, insightful conclusions. To see how I addressed these challenges and crafted a compelling narrative, check out the\",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/README.md\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" README.md section\"})}),\" of my submission.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Insights uncovered\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Average PPG Age, Segmented by Player Status\"})}),/*#__PURE__*/e(\"p\",{children:\"See how points per game trends over the course of a player\u2019s career.\"}),/*#__PURE__*/e(\"img\",{alt:\"Finding Average PPG Age, Segmented by NBA Player Status with Paradime\",className:\"framer-image\",height:\"284\",src:\"https://framerusercontent.com/images/rYTUrL1OnPzwtw8hVR9ic79x0.png\",srcSet:\"https://framerusercontent.com/images/rYTUrL1OnPzwtw8hVR9ic79x0.png?scale-down-to=512 512w,https://framerusercontent.com/images/rYTUrL1OnPzwtw8hVR9ic79x0.png 1000w\",style:{aspectRatio:\"1000 / 568\"},width:\"500\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight\"}),\": Players tend to peak in terms of points per game (PPG) between the ages of 28 and 30. Superstar and Legendary players generally maintain more consistency throughout their careers. However, Star and Role players often experience a decline after reaching the age of 32.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Approach\"}),\": To analyze these trends, I utilized \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/sources/stg_player_game_logs.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"stg_player_game_logs.sql\"})}),\" to aggregate each player's average PPG into \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/my_transformations/intermediate/player_game_logs_agg.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"player_game_logs_agg.sql\"})}),\". I then categorized each player into their respective experience cohort\u2014such as Legend, Role Player, etc.\u2014based on their average PPG, which I defined in \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/my_transformations/warehouse/dim_player_info.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"dim_player_info.sql\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Player Performance vs Salary\"})}),/*#__PURE__*/e(\"p\",{children:\"A look at the most overvalued players during the 2022-23 season.\"}),/*#__PURE__*/e(\"img\",{alt:\"Find out NBA Player Performance vs Salary with Paradime\",className:\"framer-image\",height:\"172\",src:\"https://framerusercontent.com/images/yrunVkofgegQGpDhbau7fmEjCY.png\",srcSet:\"https://framerusercontent.com/images/yrunVkofgegQGpDhbau7fmEjCY.png?scale-down-to=512 512w,https://framerusercontent.com/images/yrunVkofgegQGpDhbau7fmEjCY.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/yrunVkofgegQGpDhbau7fmEjCY.png 1172w\",style:{aspectRatio:\"1172 / 345\"},width:\"586\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight\"}),\":\\xa0 John Wall emerged as the most overvalued player for the 2022-23 season. Despite earning a $47 million salary, the predictive models suggest his performance merited closer to $11 million. Interestingly, he was bought out of his contract and released at the end of the season, which aligns with our findings. Another high-profile case is Ben Simmons, who has been limited by injuries in recent years and also underperformed according to our metrics. Our analysis includes other notable players who may not provide the best value for their teams according to their current contracts.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Approach\"}),\": I developed this analysis using dbt models \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/my_transformations/warehouse/fact_player_performance.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"fact_player_performance.sql\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/my_transformations/warehouse/dim_player_salaries_by_season.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"dim_player_salaries_by_season.sql\"})}),\". These models helped generate data that I fed into my predictive model \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/python_scripts/salary_prediction_model.py\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"salary_prediction_model.py\"})}),\" which compares each player\u2019s actual salary against their predicted salary based on performance metrics.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Highest Single Season Salaries (Adjusted for Inflation)\"})}),/*#__PURE__*/e(\"img\",{alt:\"Find out Highest Single NBA Season Salaries (Adjusted for Inflation) with Paradime\",className:\"framer-image\",height:\"332\",src:\"https://framerusercontent.com/images/HOIp7sHqEer6jq5QtWkXoeLTSZo.png\",srcSet:\"https://framerusercontent.com/images/HOIp7sHqEer6jq5QtWkXoeLTSZo.png?scale-down-to=512 512w,https://framerusercontent.com/images/HOIp7sHqEer6jq5QtWkXoeLTSZo.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/HOIp7sHqEer6jq5QtWkXoeLTSZo.png 1200w\",style:{aspectRatio:\"1200 / 664\"},width:\"600\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight\"}),\": The analysis confirmed Michael Jordan's 1996 contract as the highest ever in NBA history, valued at $30 million at the time \u2014 unprecedented for any player. Adjusted for inflation and considering today's salary cap, this amount escalates to an astounding $280 million for the 2022-23 season. In contrast, the highest contract for an active player, belonging to Steph Curry, would be $58 million under similar adjustments, markedly less than Jordan's historic payout.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Approach\"}),\": To conduct this analysis, I utilized \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/sources/stg_inflation_data.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"stg_inflation_data.sql\"})}),\" and \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/sources/stg_salary_cap_by_season.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"stg_salary_cap_by_season.sql\"})}),\" to adjust each player's historical salary to its present-day value. These adjustments were made in \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-nba-data-challenge/blob/nba-cahughes95-gmail-com/models/my_transformations/intermediate/player_salaries_by_season_adj.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"players_salaries_by_season_adj.sql\"})}),\", allowing for a direct comparison across different eras based on inflation and changes in the salary cap.\"]}),/*#__PURE__*/t(\"p\",{children:[\"I\u2019m interested in hearing what others have to think about my analysis. What other insights would have been useful for NBA general managers? Feel free to send me a message on \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/chavhu/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"LinkedIn\"})}),\" to chat more!\"]}),/*#__PURE__*/e(\"h2\",{children:\"Where to go from here\"}),/*#__PURE__*/e(\"p\",{children:\"My experience with the NBA Data Modeling Challenge was incredibly rewarding. Completing a full-scale analytics engineering project not only enhanced my portfolio but also gave me a valuable opportunity to showcase my skills to my network and potential employers. The competition was thrilling, and I was quite pleased with the prize!\"}),/*#__PURE__*/e(\"p\",{children:\"Paradime is now hosting a new challenge, this time centered on the world of movies. Shifting from the basketball court to the big screen, this challenge promises to be an exciting exploration of movie datasets. If you're a data enthusiast with a love for films, this is your perfect opportunity to dive in, learn, and compete for prizes of $500, $1,000, and $1,500.\"}),/*#__PURE__*/t(\"p\",{children:[\"Sign up \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge-movie-edition\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"here\"})}),\" to participate in the challenge and discover what insights you can uncover!\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});export const richText7=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Over the last 6 months, dbt Cloud\u2122 pricing has changed drastically. On top of the \",/*#__PURE__*/e(n,{href:\"https://medium.com/paradime-labs/what-does-dbt-cloud-price-increase-mean-8a39c4b7103a\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"100\u2013700% increase from Dec-2022\"})}),\", we are now looking at Shiny New Pricing that\u2019s going to cut even deeper holes into already stretched analytics budgets.\"]}),/*#__PURE__*/e(\"p\",{children:\"In this article, we\u2019ll walk you through everything you need to know about the new dbt\u2122 pricing plan. We\u2019ll help you answer questions like:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"How does dbt\u2122\u2019s old price plan compare to the new one?\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"dbt\"}),\"\u2122 \",/*#__PURE__*/e(\"strong\",{children:\"is now charging per \u201Csuccessful model build\u201D. What does that mean?\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"How will model-based pricing affect me?\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"What are the options on the table?\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Why should you act now?\"})})})]}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s jump right into it by answering the first question:\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"1. How does dbt\u2122\u2019s old price plan compare to the new one?\"})}),/*#__PURE__*/e(\"p\",{children:\"Here\u2019s a simple illustration of the old price plan vs the new one. Don\u2019t worry, we\u2019ll summarize it for you below.\"}),/*#__PURE__*/e(\"img\",{alt:\"How does dbt\u2122\u2019s old price plan compare to the new one? | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"590\",src:\"https://framerusercontent.com/images/Ms3vKXCzZ3NfIMr6L7kpR8F6c.png\",srcSet:\"https://framerusercontent.com/images/Ms3vKXCzZ3NfIMr6L7kpR8F6c.png?scale-down-to=1024 693w,https://framerusercontent.com/images/Ms3vKXCzZ3NfIMr6L7kpR8F6c.png 800w\",style:{aspectRatio:\"800 / 1181\"},width:\"400\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Developer Tier:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Before\"}),\": Free for one seat. You could build as many models as you\u2019d like at no extra charge\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"After\"}),\": \u201CFree\u201D (emphasize the quotations \uD83D\uDE02) for one seat. You will be able to run up to 3,000 model builds per month. More than that, you will need to pay $0.01 per successful model build. If you don\u2019t pay, your models won\u2019t run. \",/*#__PURE__*/e(\"strong\",{children:\"\uD83D\uDEA8If you have production jobs, they will stop running unless you pay\"}),\".\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Team Tier:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Before\"}),\": $100 per seat. You could build as many models as you\u2019d like at no extra charge\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"After\"}),\": \",/*#__PURE__*/e(n,{href:\"https://docs.getdbt.com/docs/cloud/billing#team-plan-billing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"dbt\u2122\u2019s billing formula\"})}),\" explains this new pricing clearly:\"]})})]}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"($100 x number of developer seats) + ((models built\u200A\u2014\u200A15,000) x $0.01)\"})})}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s say your organization has 12 seats and you run 95k models per month, how much will you be paying each month?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Before: ($100 x 12) = \",/*#__PURE__*/e(\"strong\",{children:\"$1,200/month\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"After: ($100 x 12) + ((95,000\u201315,000) x $0.01) = \",/*#__PURE__*/e(\"strong\",{children:\"$2,000/month.\"})]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Enterprise Tier:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Before\"}),\": Prices vary (roughly $400/developer/month)\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"After\"}),\": Whatever you were paying before the price increase + you will now pay additionally for model builds.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h3\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2. dbt\"}),\"\u2122 \",/*#__PURE__*/e(\"strong\",{children:\"is now charging per \u2018successful model build\u2019. What does that mean?\"})]}),/*#__PURE__*/t(\"p\",{children:[\"Let\u2019s read \",/*#__PURE__*/e(n,{href:\"https://docs.getdbt.com/docs/cloud/billing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"dbt\u2122\u2019s definition\"})}),\" and then unpack it.\"]}),/*#__PURE__*/e(\"img\",{alt:\"dbt\u2122 is now charging per \u2018successful model build\u2019. What does that mean? | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"164\",src:\"https://framerusercontent.com/images/AnSRfuTYKr7Nk1SEsEDF6mp9A.png\",srcSet:\"https://framerusercontent.com/images/AnSRfuTYKr7Nk1SEsEDF6mp9A.png?scale-down-to=512 512w,https://framerusercontent.com/images/AnSRfuTYKr7Nk1SEsEDF6mp9A.png 800w\",style:{aspectRatio:\"800 / 329\"},width:\"400\"}),/*#__PURE__*/e(\"p\",{children:\"So, anytime you make a dbt\u2122 run outside the dbt Cloud\u2122 IDE environment (ex. a table and/or view is updated in your data warehouse), your dbt Cloud\u2122 bill goes up by $.010 per successful model built. This price hike occurs whenever you execute any of the following:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ad-hoc runs using the dbt Cloud\u2122 scheduler\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Automated dbt\u2122 runs via your dbt\u2122 Cloud scheduler\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"CI/CD builds in dbt Cloud\u2122\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Runs kicked off by through dbt Cloud\u2122\u2019s API\"})})]}),/*#__PURE__*/e(\"p\",{children:\"It does not matter if the whole run fails; all successfully built models during even a failed run are charged.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"All of these dbt\u2122 runs were free before the price hike.\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"3. How will model-based pricing affect me?\"}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s look at the impact of model build-based pricing. Financially, it comes down to how many models do you have and how many times do you run them during the day. But there is a deeper operational impact as well to consider.\"}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"A. Financial impact\"})}),/*#__PURE__*/e(\"p\",{children:\"To understand, how problematic this is, let\u2019s say you have 500 models in the dbt\u2122 repo.\"}),/*#__PURE__*/e(\"p\",{children:\"If we assume:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"a team of 8 developers\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"each developer makes ~4 pushes per day, so about 30 pushes overall\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"each push / CI-job runs 20% of models\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"there are 7 schedules / day that build 500 models each\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"all runs are successful (for simplicity)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"These are pretty reasonable assumptions. We have users, who are running 100+ schedules.\"}),/*#__PURE__*/e(\"p\",{children:\"With the above assumptions, we have:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"from CI-jobs\"}),\": 90,000 model builds/month [500 x 0.20 x 30 x 30]\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"from Production jobs\"}),\": 105,000 model builds/month [7 x 500 x 30]\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"leading to a \",/*#__PURE__*/e(\"strong\",{children:\"total of 195,000\"}),\" model builds per month\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"In the team tier, with 8 seats, \",/*#__PURE__*/e(\"strong\",{children:\"you would now be paying 225% more than before\"}),\". Where your annual bill was $9.6k, it will now be around $31k!\"]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"B. Operational Impact\"})}),/*#__PURE__*/e(\"p\",{children:\"More than the financial impact, this situation presents a massive operational impact. I can immediately think of questions that would probably be top of mind for every data leader:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Will you be able to \",/*#__PURE__*/e(\"strong\",{children:\"drive adoption of dbt\"}),\"\u2122 across your organization?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Will you ask your team \",/*#__PURE__*/e(\"strong\",{children:\"to build fewer models\"}),\"? That\u2019s the equivalent of asking people to write \",/*#__PURE__*/e(\"strong\",{children:\"fewer files of code\"}),\", which is unheard of.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Will you \",/*#__PURE__*/e(\"strong\",{children:\"stuff 600 lines of business logic\"}),\" into a single file to reduce model count? Aren\u2019t we back in the pre-dbt\u2122 days then?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Are you going to \",/*#__PURE__*/e(\"strong\",{children:\"ask your analytics engineers to push less\"}),\"? They are having a hard time learning git already. Do you think this will improve their productivity?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Will you \",/*#__PURE__*/e(\"strong\",{children:\"run production pipelines less\"}),\"? So stale data for everyone in the business.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Will you be \",/*#__PURE__*/e(\"strong\",{children:\"constantly refactoring models to stay within budget\"}),\"? Will you keep breaking your dashboards and reports. Will that be good for your team morale or for your stakeholder relationships?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Will you \",/*#__PURE__*/e(\"strong\",{children:\"go to finance every 2 months\"}),\" asking for a new budget? Aren\u2019t they already asking you to reduce your warehouse spend?\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"These are real operational questions that data leaders need to ask. And whether the operational overhead for all of this is really worth it.\"}),/*#__PURE__*/t(\"p\",{children:[\"Depending on your team size, repo size, and scheduling frequency, \",/*#__PURE__*/e(\"strong\",{children:\"you could be looking at your cost to increase between 160% and 1700%+.\"})]}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:\"From our estimates, if you have 200 models, then you can run ONLY 1 schedule and 1 CI job per day to keep your budget unaffected. That for all practical purposes is impossible to achieve.\"})})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"4. What are the options on the table?\"}),/*#__PURE__*/t(\"p\",{children:[\"At the beginning of this year, Christof Blefari wrote a pretty insightful post on \",/*#__PURE__*/e(n,{href:\"https://www.blef.fr/manage-and-schedule-dbt/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"how to manage and schedule dbt\"})}),\"\u2122. At the end of the post he had a comparison chart, which I have re-produced below on all the various options available.\"]}),/*#__PURE__*/e(\"img\",{alt:\"dbt\u2122 options on the table? | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"482\",src:\"https://framerusercontent.com/images/tVlE0Hkl1qWkN91yhxjoq8sx3JM.png\",srcSet:\"https://framerusercontent.com/images/tVlE0Hkl1qWkN91yhxjoq8sx3JM.png?scale-down-to=512 512w,https://framerusercontent.com/images/tVlE0Hkl1qWkN91yhxjoq8sx3JM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/tVlE0Hkl1qWkN91yhxjoq8sx3JM.png 2000w\",style:{aspectRatio:\"2000 / 965\"},width:\"1000\"}),/*#__PURE__*/e(\"p\",{children:\"All the non-SaaS options, require both data engineering time and data engineering teams of varying sizes. Now, data engineering time is precious and it\u2019s expensive. I would argue, its best spent solving hard data engineering problems than maintaining analytics platforms.\"}),/*#__PURE__*/e(\"p\",{children:\"But in a non-SaaS world, you don\u2019t have that option. So we created a little comparison to show what\u2019s the actual cost of various options outside dbt Cloud\u2122.\"}),/*#__PURE__*/e(\"p\",{children:\"We assumed:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"a team of 8 developers\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"each developer makes ~4 pushes per day, so about 30 pushes overall\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"each push / CI-job runs 20% of models\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"there are 7 schedules / day that build 500 models each\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"all runs are successful (for simplicity)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Based on the above, there would be 195,000 successful model-builds per month, and the alternatives and their associated costs would be:\"}),/*#__PURE__*/e(\"img\",{alt:\"dbt\u2122 options on the table? | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"224\",src:\"https://framerusercontent.com/images/p2qV1ysmvRjpcCGXBZR5mzd8myI.png\",srcSet:\"https://framerusercontent.com/images/p2qV1ysmvRjpcCGXBZR5mzd8myI.png?scale-down-to=512 512w,https://framerusercontent.com/images/p2qV1ysmvRjpcCGXBZR5mzd8myI.png 965w\",style:{aspectRatio:\"965 / 449\"},width:\"482\"}),/*#__PURE__*/e(\"p\",{children:\"We can see that:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Sticking to the status quo means risking significant budget overruns, like paying 225% more in the above example.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Moving to a highly operationally intensive VSCode + dbt Core\u2122 + Airflow solution, will be 4\u20136 times more expensive\u200A\u2014\u200Aconsidering both tool and personnel costs.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"And, lastly, \",/*#__PURE__*/e(\"strong\",{children:\"moving to Paradime\"}),\", would get you everything you already need and additional features at a reasonable, fair, and predictable per-seat pricing.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"5. Why should you act now?\"}),/*#__PURE__*/e(\"img\",{alt:\"dbt\u2122 options on the table? | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"345\",src:\"https://framerusercontent.com/images/nCRUwrbo3j22h4lI9jUKtJYB4.png\",srcSet:\"https://framerusercontent.com/images/nCRUwrbo3j22h4lI9jUKtJYB4.png?scale-down-to=512 512w,https://framerusercontent.com/images/nCRUwrbo3j22h4lI9jUKtJYB4.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/nCRUwrbo3j22h4lI9jUKtJYB4.png 2000w\",style:{aspectRatio:\"2000 / 690\"},width:\"1000\"}),/*#__PURE__*/t(\"p\",{children:[\"If we plot the timeline between Dec-2022 and Dec-2023, for a lot of teams, Jan-2024 will be the start of the new financial year. \",/*#__PURE__*/e(\"strong\",{children:\"The time to get those budget approvals is between now and October\"}),\". Otherwise, you run the risk of scrambling for a budget once again, just like what happened last year.\"]}),/*#__PURE__*/e(\"blockquote\",{children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Making sure data budgets are flat from last year is top of mind for every CFO or VP Finance I have spoken to. It\u2019s important that they are onboard with your plans.\"})})}),/*#__PURE__*/e(\"p\",{children:\"As a thought exercise, how are you thinking of protecting / hedging yourself from another price increase in December? Paradime aside, I would love to know and help in any way I can.\"}),/*#__PURE__*/e(\"p\",{children:\"I am also wondering, what if dbt\u2122 Labs says, you will have to pay for model execution time as well after Coalesce?\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, if you are a data leader, and you are using dbt\u2122 or considering dbt\u2122 and reading this, you have three choices:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Use dbt Cloud\u2122, which\u2019s expensive, lacks features, and comes with variable and unpredictable pricing.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Opt for open-source with dbt Core\u2122 with very-high personnel cost and operational overload attached.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Go for Paradime\"})}),\" with a dbt\u2122 native, easy-to-use platform for all your analytics work with smart, fair, and predictable pricing. Plus, if you are already using dbt\u2122, migration takes minutes.\"]})})]}),/*#__PURE__*/e(\"h4\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h4\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Sign up\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for a FREE 14-day trial or \"}),/*#__PURE__*/e(n,{href:\"https://calendly.com/d/28j-w6n-x43/get-started-with-paradime?month=2023-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"schedule\"})})}),/*#__PURE__*/e(\"strong\",{children:\" some time with our team to learn more about Paradime \"}),\"\uD83D\uDCAA\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText8=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Introduction\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:\"Paradime's Movie Data Modeling Challenge has officially kicked off! Participants worldwide are engaging with real movie and TV series data, crafting SQL queries, developing dbt\u2122 models, and uncovering insights\u2014all for a chance to win a $1,500 Amazon gift card! \"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"Exciting news for those eager to get involved\u2014the submission deadline isn't until May 26th! If you're interested in joining the challenge, \"}),/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge-movie-edition#div-registration-form\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"em\",{children:\"sign up here\"})})}),/*#__PURE__*/e(\"em\",{children:\"!\"})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"em\",{children:\"---\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"Having judged over 20 projects from Paradime's recent NBA data modeling challenge, I gained firsthand insight into the diverse strategies employed by participants. It became evident that top performers shared a common thread: \",/*#__PURE__*/e(\"strong\",{children:\"a well-defined strategy\"}),\", enhanced by effectively \",/*#__PURE__*/e(\"strong\",{children:\"leveraging Paradime \"}),\"and its robust features.\"]}),/*#__PURE__*/e(\"p\",{children:\"In this blog post, I'll detail the strategies that propelled these top participants to success and demonstrate how you can apply them to not only excel in the Movie Data Modeling Challenge but also enhance any data-related project. So, let's dive in, embrace the challenge, and demonstrate your impressive data modeling and analytics skills!\"}),/*#__PURE__*/e(\"h2\",{children:\"A Well-Defined Strategy\"}),/*#__PURE__*/e(\"p\",{children:\"Effective participants employed a variety of robust strategies:\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Understand Your Objective\"})}),/*#__PURE__*/e(\"p\",{children:'Growing up in athletics (though I\\'m FAR from an athlete \uD83E\uDD23), I learned a timeless phrase: \"Your direction is more important than speed. Many are going nowhere fast.\" This holds especially true in data analytics, where not having a clear objective can lead to significant time wasted.'}),/*#__PURE__*/t(\"p\",{children:[\"In the Movie Data Modeling Challenge, your goal is straightforward: \",/*#__PURE__*/e(\"em\",{children:\"Utilize real movie and TV series data to craft SQL queries, develop dbt\u2122 models, and derive insights\u2014all for a shot at a $1,500 Amazon gift card!\"})]}),/*#__PURE__*/t(\"p\",{children:[\"In addition to understanding your objective, gain a clear understanding of the \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge-movie-edition#div-how-it-works-2\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"judging criteria\"})}),\" and the \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge-movie-edition#div-how-it-works-2\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"challenge deliverables\"})}),\" to enhance your chances of success. \"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"307\",src:\"https://framerusercontent.com/images/fXKLuWJZeqAYQ29wnPtktRNtqnU.png\",srcSet:\"https://framerusercontent.com/images/fXKLuWJZeqAYQ29wnPtktRNtqnU.png?scale-down-to=512 512w,https://framerusercontent.com/images/fXKLuWJZeqAYQ29wnPtktRNtqnU.png 864w\",style:{aspectRatio:\"864 / 614\"},width:\"432\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Know the Data\"})}),/*#__PURE__*/t(\"p\",{children:[\"Establishing a deep understanding of the data is crucial. This involves exploring the \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/paradime-dbt-movie-challenge/tree/main/models/sources\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"three datasets provided\"})}),\" in Snowflake. Get to know each table's columns, their potential use cases, and how they relate to one another.\"]}),/*#__PURE__*/e(\"p\",{children:\"Identify data quality issues and potential roadblocks early on\u2014this foresight can save you countless hours, inspire new analytical ideas, and help you identify additional data sources to augment your analysis.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Formulate your Questions (Any verify they can be answered!)\"})}),/*#__PURE__*/e(\"p\",{children:\"Start with questions that you can immediately answer with the available datasets:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"What are the highest-grossing films of all time?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Which films have the highest/lowest ROI?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Which leading actors appear in the most films?\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Then, think about what you want to explore but currently lack data for, like deeper dives into awards or DVD and streaming metrics. Since this information is not available in the provided datasets, you'll need to source and integrate it yourself. \"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Builders beware - \"}),\"Not all questions can be answered! Always verify the availability of data before committing to a question.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Measure Twice, Cut Once\"})}),/*#__PURE__*/e(\"p\",{children:'This adage underscores the importance of careful planning and execution. In this context, \"measure twice\" refers to data preparation and validation in Snowflake, while \"cut once\" refers to building your dbt\u2122 models in Paradime. Taking the time to meticulously prepare your data and validate your insights ensures your models are built on a solid foundation and are more likely to yield accurate and intriguing insights.'}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Telling a Compelling Story\"})}),/*#__PURE__*/e(\"p\",{children:\"Effectively communicating your insights is crucial. Use data visualizations, narratives, and compelling storytelling techniques to present your findings in a way that resonates with the judges. It's not enough to present complex and accurate insights; you must also weave a compelling narrative to back them up.\"}),/*#__PURE__*/t(\"p\",{children:[\"For inspiration, explore \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/spenceperry/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Spence Perry's\"})}),\" first-place submission (\uD83D\uDD17 \",/*#__PURE__*/e(n,{href:\"about:blank#\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"link\"})}),\") from Paradime's NBA Data Modeling Challenge, noted for setting the scene effectively, building a narrative, and presenting valuable insights.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Telling a Compelling Story Through Data with Paradime\",className:\"framer-image\",height:\"784\",src:\"https://framerusercontent.com/images/04CCUNwx3C9zFvUAq7LrNkziJek.png\",srcSet:\"https://framerusercontent.com/images/04CCUNwx3C9zFvUAq7LrNkziJek.png?scale-down-to=512 512w,https://framerusercontent.com/images/04CCUNwx3C9zFvUAq7LrNkziJek.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/04CCUNwx3C9zFvUAq7LrNkziJek.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/04CCUNwx3C9zFvUAq7LrNkziJek.png 3155w\",style:{aspectRatio:\"3155 / 1568\"},width:\"1577\"}),/*#__PURE__*/e(\"p\",{children:\"Now, having established a strong strategic foundation, let's explore how leveraging specific features in Paradime can amplify your success in the challenge.\"}),/*#__PURE__*/e(\"h2\",{children:\"Leveraging Paradime\"}),/*#__PURE__*/e(\"p\",{children:\"Utilizing Paradime's various features can significantly boost your performance in the challenge. Here's an overview of some pivotal tools:\"}),/*#__PURE__*/e(\"h3\",{children:\"Code IDE\"}),/*#__PURE__*/t(\"p\",{children:[\"The Code IDE at Paradime is a powerhouse tool designed for both novice and advanced users. This integrated development environment streamlines your workflow, allowing for an efficient and effective modeling process. Follow this \",/*#__PURE__*/e(n,{href:\"https://app.arcade.software/share/Rbdm7n1uFXxbzQw5qtoS\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"interactive tutorial \"})}),\"to best understand all the features at your disposal, and here's a brief summary of what the tutorial covers:\"]}),/*#__PURE__*/t(\"h5\",{children:[\"\u200D\",/*#__PURE__*/e(\"strong\",{children:\"Integrated Terminal\"})]}),/*#__PURE__*/t(\"p\",{children:[\"Run dbt\u2122 CLI commands directly within the IDE to streamline your development process. \",/*#__PURE__*/e(n,{href:\"https://youtu.be/wQtIn-tnnbg?feature=shared&t=1\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Video\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/integrated-terminal\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Data Explorer\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"Quickly preview the results of your models without the need to compile your dbt\u2122\uFE0F resources first. This feature saves time and enhances your ability to iterate rapidly on model development. \",/*#__PURE__*/e(n,{href:\"https://youtu.be/wQtIn-tnnbg?feature=shared&t=74\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Video\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/data-preview\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Data Lineage\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"Visualize how data flows through your models, helping you understand the relationships and dependencies in your project. This insight is crucial for managing complex data transformations. \",/*#__PURE__*/e(n,{href:\"https://youtu.be/wQtIn-tnnbg?feature=shared&t=135\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Video\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/lineage-preview\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Data Catalog\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"Maintain and access your project documentation directly within the IDE, ensuring that your team always has the latest information at their fingertips. \",/*#__PURE__*/e(n,{href:\"https://youtu.be/wQtIn-tnnbg?feature=shared&t=201\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Video\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/docs-preview\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Moving on from some of the the core IDE features, let's delve into how Dino AI can revolutionize your data modeling workflow.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Dino AI\"}),/*#__PURE__*/e(\"p\",{children:\"Dino AI integrates seamlessly within the Code IDE, providing intelligent assistance that enhances your productivity and speeds up your SQL and dbt\u2122 development.\"}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Commit Messages\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"An intelligent code generator within your editor, offering custom code suggestions based on your dbt\u2122 project's structure and content. \",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=-WG4JUv3sI8&t=1s\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Tutorial\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/docs-preview-1#copilot\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Copilot\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:['This feature offers custom code suggestions right in your editor. Simply type \"ask dino;\" in any .sql file to receive tailored advice. ',/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=-WG4JUv3sI8&t=39s\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Tutorial\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/docs-preview-1#copilot\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Autocomplete\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:['Smart autocompletion for SQL and dbt\u2122 code, streamlining the creation of queries, columns, calculations, etc. Just type \"/dino/\" in any .sql file to being autocompletion. ',/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=-WG4JUv3sI8&t=94s\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Tutorial\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/docs-preview-1#autocomplete\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Chat Panel\"}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"Similar to ChatGPT, this feature offers real-time assistance for coding questions, directly within the editor. \",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=-WG4JUv3sI8&t=141s\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCFA Tutorial\"})}),\" | \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/code-ide/docs-preview-1#chat-panel\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"\uD83D\uDCDA Documentation\"})})]}),/*#__PURE__*/e(\"p\",{children:\"These innovative features ensure that you're equipped with the best tools to tackle the challenge efficiently and effectively.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Where to go from here\"}),/*#__PURE__*/t(\"p\",{children:[\"By adopting these well-defined strategies and leveraging the cutting-edge features of Paradime, you're well-prepared to excel in the Movie Data Modeling Challenge and further enhance your skills in data projects. \",/*#__PURE__*/e(\"strong\",{children:\"Don't miss your chance to participate and potentially win a $1,500 Amazon gift card\"}),\". \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge-movie-edition#div-registration-form\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Sign up today\"})}),\" and start your journey! \"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"\uD83D\uDCC5 Submission deadline is May 26th, 2024 \uD83D\uDCC5\"})]});export const richText9=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Introduction\"})}),/*#__PURE__*/e(\"p\",{children:\"At Paradime, we upgrade our major versions once a year to mark the start of a new foundation for the platform. Since the release of v3.0 12 months ago, the team has been hard at work laying the foundations for an even more rock-solid platform. We have been balancing our efforts between refining details and furiously launching new features to disrupt the dbt\u2122 game and challenge competitors like dbt Cloud\u2122. Now, we feel it is time to make another \uD83D\uDCA5bang\uD83D\uDCA5 with loads of announcements.\"}),/*#__PURE__*/e(\"p\",{children:\"Our goal is, and has always been, to help organizations unlock the power of dbt\u2122 10x.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h2\",{children:[/*#__PURE__*/e(\"strong\",{children:\"What's new?\"}),\" A lot, obviously \uD83D\uDE0F\"]}),/*#__PURE__*/e(\"p\",{children:\"It would be impossible to fit everything that's new into a single post, but let's start with the changelog. Throughout the week, we will then unpack the most impactful developments in a series of deep-dive posts.\"}),/*#__PURE__*/e(\"p\",{children:\"Let's get into it shall we:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pricing v4.0 \uD83C\uDF89\"}),\" - Don\u2019t want to pay for our entire product suite when you will only be using 1-2 of them? No problem! Paradime customers now have the option to buy Paradime\u2019s core products \\xe1 la carte, like \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-development\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Code IDE\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/bolt-ci-cd-run-dbt\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Bolt\"})}),\", and \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/radar-real-time-intelligence\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Radar\"})}),\"! The new details and pricing are live on our \",/*#__PURE__*/e(n,{href:\"https://paradime.io/pricing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Pricing Page\"})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Sandbox \u23F3 \"}),\"- Dive into Paradime without the hassle! Interested in experiencing the full potential of Paradime without the need to connect your Data Warehouse and GitHub Repo? Explore our \",/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Sandbox\"})}),\"! Within 60 seconds, you'll have access to a fully functional environment complete with pre-loaded data. Get hands-on with our product today... No credit card required!\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"AI\\xa0Co-pilot is getting smarter \uD83E\uDD13\"}),\" - The Co-pilot isn't just any assistant; it's a highly sophisticated aid integrated within the Paradime IDE. Our latest update enhances your productivity with essential one-click actions. You can effortlessly fix SQL errors, write Elementary tests, and access relevant information about your models with just, well, one click.\",/*#__PURE__*/e(\"strong\",{children:\"\u200D\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Paradime now supports Data Mesh \uD83D\uDD00 \"}),\"- Using constructs from dbt Core\u2122, Paradime enhances your ability to seamlessly integrate data workflows. You can now consume manifest.json from dependent projects, visualize lineage across projects, and detect column-level breaking changes in downstream projects during your CI/CD processes. This is a MAJOR advancement for our customers adopting data mesh\",/*#__PURE__*/e(\"strong\",{children:\"\u200D\"}),\"! \",/*#__PURE__*/e(\"strong\",{children:\"\u200D\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Python \uD83E\uDD1D Paradime\"}),\" - Python has become an indispensable tool in analytics engineering workflows, and Paradime v4.0 is here to elevate this integration! Customers can now easily set up their virtual environments using \",/*#__PURE__*/e(n,{href:\"https://docs.python.org/3/library/venv.html\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"venv\"})}),\" or \",/*#__PURE__*/e(n,{href:\"https://python-poetry.org/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"poetry\"})}),\" directly within the Paradime IDE. This allows for seamless development and execution of Python code, enhancing flexibility and efficiency in your data projects.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"strong\",{children:\"Cloud cost reduction with Radar\"}),\" \uD83D\uDCB0 - Radar's capabilities have just gotten even more powerful! We've expanded support to include dbt\u2122, Snowflake, and BigQuery costs, as well as Looker usage, along with an ever-expanding list of integrations. Excitingly, there's ongoing development of an agent aimed at automatically reducing Snowflake costs. Stay tuned for more cost-efficient innovations we know you'd love.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"strong\",{children:\"Custom Integrations SDK \uD83E\uDDE9\"}),\" - Over the last six months, we\u2019ve realized we can't build all integrations by ourselves \uD83E\uDD37. So we have now released the custom integration SDK. Customers will be able to bring any integration they want into the Paradime lineage and catalog that we don't support by writing a few lines of code in less than 30 mins.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"strong\",{children:\"Paradime SDK and CLI\"}),\" - \",/*#__PURE__*/e(\"strong\",{children:\"Call any Bolt endpoint from anywhere \uD83D\uDCBB\"}),\" - With just a few lines of code, our latest update supports any CI/CD runner, giving customers unprecedented flexibility to design their optimal dbt\u2122 pipeline using Paradime.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Bolt sets a new standard \u26A1\uFE0F \"}),\"- We\u2019ve expanded its functionality with support for dependent runs, enabling more complex workflows. Users can now benefit from advanced analytics, including a timeline view and DAG view of command executions. Plus, we\u2019ve integrated built-in support for Airflow operators and Dagster, enhancing automation and efficiency in your data operations\",/*#__PURE__*/e(\"strong\",{children:\"\u200D\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Improvements 'Under the Hood'\"}),\" \u2699\uFE0F - We've upgraded our processor architecture to \",/*#__PURE__*/e(n,{href:\"https://aws.amazon.com/ec2/graviton/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"AWS' advanced ARM Graviton processors\"})}),\", delivering improved load capacity, faster speeds, and cloud performance on par with Mac's M1/M2 chips. These upgrades have quadrupled Paradime's performance, boosted deployment speed by 40%, and significantly cut infrastructure costs. We're thrilled to pass these benefits on to our customers through our \",/*#__PURE__*/e(n,{href:\"https://paradime.io/pricing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"predictable pricing model\"})}),\".\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"And of course, we\u2019ve sweated through hundreds of bug fixes and minor feature enhancements to provide a seamless customer experience! \"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h2\",{children:\"What's coming next?\"}),/*#__PURE__*/t(\"p\",{children:[\"Here\u2019s where things get \",/*#__PURE__*/e(\"em\",{children:\"really\"}),\" exciting. With the release of the Paradime v4.0, we have the foundation we need to not just challenge, but change the status quo.\"]}),/*#__PURE__*/e(\"p\",{children:\"Every year at Paradime, we have been ruthless in prioritizing what our people want, and we feel confident in actually sharing a bit of our roadmap in advance. If this helps our competitors, be our guests. It would just help all dbt\u2122 users worldwide, and we would love that :-).\"}),/*#__PURE__*/e(\"p\",{children:\"Over the next several months, we will be shipping:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"AI-enhanced coding\"}),\": By integrating AI with in-app analytics, we aim to reduce coding time by 30% compared to dbt Cloud\u2122 or dbt Core\u2122 users, improve code quality by 60-80%, and cut operational costs in at least 55% of cases.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Omni-channel developer experience:\"}),\" Paradime will soon be accessible everywhere you work, ensuring a seamless and integrated environment.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Notebook support:\"}),\" Yep, that\u2019s right - notebook support is coming! With our robust IDE already handling Python and DuckDB, soon you\u2019ll be able to explore and model data without switching tools. This integration promises best-of-breed support for all your data tasks.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Event-triggered Bolt runs\"}),\": We're enhancing Bolt to initiate runs when data hits supported systems, not just on a schedule. This will be a game-changer for organizations with heavy ingestion pipelines, saving significant compute resources daily.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"We are thrilled to announce the release of v4.0 and beyond! Rest assured, we are constantly innovating and pushing the boundaries of what\u2019s possible with dbt\u2122 to makre sure people using Paradime always get the most out of their experience!\"})]});export const richText10=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Introduction\"})}),/*#__PURE__*/e(\"p\",{children:\"Today we are kicking off our countdown to Paradime v3.0 release. We are announcing that Paradime is now globally available across the USA, UK, EU, and Asia Pacific. We are now on 4 continents out of seven.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Global availability on the edge\"})}),/*#__PURE__*/e(\"p\",{children:\"Paradime platform is now available across four continents at the following locations:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"N. Virginia (USA)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Dublin (EU)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"London (UK)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Frankfurt (EU)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Singapore (APAC)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Sydney (APAC)\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Our growing user base can now host their Paradime instance with unmatched flexibility across the globe. Organizations will now be able to meet their data residency requirements globally by taking advantage of Paradime's market-leading analytics platform.\"}),/*#__PURE__*/e(\"p\",{children:\"Currently, regions outside N. Virginia and London, are only available to Paradime's Scaling Tier customers. The key benefits of all the new instances are:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The same high availability architectural design of Paradime platform is available in every location\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"100% in-region data residency with no replication outside the region\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All locations are updated simultaneously so that there is complete feature parity across all regions all the time\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Customers can see where their instance is hosted, simplifying the management, compliance and procurement process for companies that have stringent data residency requirements.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Which region should I choose?\"})}),/*#__PURE__*/e(\"p\",{children:\"The region you choose depends on a few factors like the pricing plan and other security requirements and needs.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"On the \"}),/*#__PURE__*/e(n,{href:\"https://paradime.io/pricing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Starting or Growing tier\"})})}),\", you can only choose between a US and EU instance. For the US, we host your instance in N. Virginia by default. For the EU, we host your instance in London by default. This way as a European customer, you can stay GDPR compliant in a cost-effective way.\"]}),/*#__PURE__*/t(\"p\",{children:[\"If you are \",/*#__PURE__*/e(n,{href:\"https://paradime.io/pricing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"on the Scaling tier\"})})}),\", you can choose any of the available locations based on one or more of the considerations below:\"]}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Do you have specific security and compliance objectives where your personnel data (PII) on Paradime needs to stay within the region?\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Do you need to connect to your Snowflake instance using AWS Private Link? Many security teams require that their network traffic between Paradime and their Snowflake instance don't hit the internet. With a co-located Paradime instance, our Enterprise customers meet their cyber-security needs.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Do you have specific privacy mandates like GDPR (EU), GDPR (UK) or GDPR (ANZ) where data within the region should stay within the region?\"})})]}),/*#__PURE__*/e(\"p\",{children:\"To meet our customers compliance needs, we already support:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"SOC 2 Type 2 report\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Data Privacy Addendum (DPA) covering GDPR, CCPA and Standard Contractual Clauses (SCC)\"})})]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Conclusion\"})}),/*#__PURE__*/e(\"p\",{children:\"We are always looking at future locations where Paradime can be available. So if you have specific security needs for an instance in your region, reach out to us.\"}),/*#__PURE__*/e(\"p\",{children:\"That's a wrap for today and tomorrow we have another exciting update coming up - so stay tuned \uD83E\uDD73.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://app.paradime.io/?target=main-app\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Sign up\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for a FREE 14-day trial or \"}),/*#__PURE__*/e(n,{href:\"https://calendly.com/d/28j-w6n-x43/get-started-with-paradime?month=2023-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"schedule\"})})}),/*#__PURE__*/e(\"strong\",{children:\" some time with our team to learn more about Paradime \"}),\"\uD83D\uDCAA\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText11=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Whether you\u2019ve been developing with dbt\u2122 for five years or just a few weeks, you\u2019ve learned a simple truth: \",/*#__PURE__*/e(\"strong\",{children:\"Your dbt\u2122 project is never \u201Cdone.\u201D\"}),\"Every day (or only every week if you\u2019re lucky!), models need to be created, updated, and deleted, tests need fine-tuning, and production jobs need revisions.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Once I came to terms with my dbt\u2122 project never being \u201Cdone,\u201D I resorted to the only plausible alternative - \",/*#__PURE__*/e(\"strong\",{children:\"How can I make my dbt\u2122 development workflow more efficient?\"})]}),/*#__PURE__*/e(\"p\",{children:\"In this blog, I\u2019ll share a few tips and tricks that have dramatically improved my dbt\u2122 development workflow. More specifically, I\u2019ll share a few features from the Paradime Code IDE, including:\"}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Auto Complete\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Avoid constant typing and copy-paste during dbt\u2122 development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Make development faster with a dropdown of relevant options as you type.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Data Preview\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"View compiled SQL in real-time without executing \u201Cdbt run.\u201D\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Improve workflow by quickly catching errors throughout dbt development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Control data warehouse spend by previewing only 100 rows by default, with the option to adjust.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Download CSV\"})}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilize CSVs for exploratory data analysis and easily share data extracts.\"})})}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Peek Definition\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Eliminate context switching and disruptions during dbt development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Highlight any source, model, or macro to generate a preview of the code within the current file.\"})})]}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"Merge Conflict Resolution\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Quickly and reliably resolve merge conflicts with Paradime.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Clearly see differences between your current file and the incoming branch.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Resolve conflicts by accepting your change, the incoming change, or both.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s dive in!\"}),/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Auto Complete\"})}),/*#__PURE__*/e(\"p\",{children:\"I\u2019m no different than you - I don\u2019t want carpal tunnel syndrome, and I don\u2019t want to waste time writing boilerplate code. Enter - Auto Complete!\"}),/*#__PURE__*/t(\"p\",{children:[\"This feature makes dbt\u2122 development much faster by providing a dropdown of relevant options to select as I\u2019m typing.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Data Preview\"})}),/*#__PURE__*/e(\"p\",{children:\"Data preview allows me to view compiled SQL in real-time without executing \u201Cdbt run.\u201D This improved my dbt\u2122 development workflow for two reasons:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"I catch errors quickly throughout dbt development. I can view the compiled SQL with every line of code I write.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"I don\u2019t dramatically drive up data warehouse spend! Preview, by default, only returns 100 rows of data, and I can reduce or increase the rows returned.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Additionally, I can choose to preview a portion of my compiled SQL (ex. CTE) instead of the entire query.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Download CSV\"})}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s be honest - CSVs are still incredibly useful. It allows me to more easily perform exploratory data analysis and share the data extract with others.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Peek Definition\"})}),/*#__PURE__*/e(\"p\",{children:\"Although I work day in and day out in my dbt project, I constantly ask myself this question during dbt development: \u201Cwait\u2026 what does that reference model do again?\"}),/*#__PURE__*/e(\"p\",{children:\"I then drop everything I was doing, search my project to answer my question.\"}),/*#__PURE__*/e(\"p\",{children:\"Even though the questions take 10 seconds to answer, it requires context switching, and it takes me out of my groove.\"}),/*#__PURE__*/e(\"p\",{children:\"Peek definition is the solution. With it, I can highlight any source, model, or macro in my dbt project and then automatically generate a preview of the highlighted code within my current file.\"}),/*#__PURE__*/e(\"p\",{children:\"No context switching. No taking me out of my groove.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"h4\",{children:[\"\u200D\",/*#__PURE__*/e(\"strong\",{children:\"Merge Conflict Resolution\"})]}),/*#__PURE__*/e(\"p\",{children:\"If your data team has more than one dbt developer, you\u2019ve likely experienced merge conflicts. They\u2019re an unavoidable aspect of dbt development, but they don\u2019t have to be time-consuming!\"}),/*#__PURE__*/e(\"p\",{children:\"With Paradime, you can clearly see what\u2019s in your current file vs. the incoming branch you\u2019re trying to merge. Additionally, you can resolve the conflict by accepting your change, the incoming change, or both changes.\"}),/*#__PURE__*/e(\"p\",{children:\"It\u2019s a quick, reliable solution to that never-ending merge conflict problem.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Where to go from here?\"})}),/*#__PURE__*/t(\"p\",{children:[\"This blog demonstrates how I use Paradime to dramatically improve my dbt\u2122 development workflow. If you\u2019re interested in learning more, check out more \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Paradime\"})}),\" content and book a demo below \uD83D\uDC47\"]})]});export const richText12=/*#__PURE__*/t(o.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"This challenge is your chance to show us what you've got. Your mission?\\xa0Craft insightful NBA analyses and visualizations using SQL and dbt\u2122. And don't worry, you get access to seven historical NBA datasets when your registration is approved. \"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"When your registration is approved, you'll get access to:\"}),/*#__PURE__*/e(\"p\",{children:\"\uD83D\uDC49 Paradime for SQL& dbt\u2122 development\"}),/*#__PURE__*/t(\"p\",{children:[\"\u2744\uFE0F \",/*#__PURE__*/e(n,{href:\"https://www.snowflake.com/en/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Snowflake\"})}),\" Data Cloud for compute and storage\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83D\uDCC8 \",/*#__PURE__*/e(n,{href:\"https://www.sigmacomputing.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Sigma Computing\"})}),\" for dashboards and visualization\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83E\uDD16 \",/*#__PURE__*/e(n,{href:\"https://github.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"GitHub\"})}),\" repository with pre-configured models\"]}),/*#__PURE__*/t(\"p\",{children:[\"\uD83C\uDFC0 Seven historical \",/*#__PURE__*/e(n,{href:\"https://www.nba.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"National Basketball Association (NBA)\"})}),\" datasets\",/*#__PURE__*/e(\"br\",{}),\"\u200D\"]}),/*#__PURE__*/t(\"p\",{children:[\"You have until March 8, 2024 to complete and submit your project. We are also super excited to have \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/ACoAABT4ub4BKz9B-XymAQd05R544Tp3Ce7hlz4\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Emily Hawkins\"})}),\" (Analytics Engineering, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/glossgenius/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"GlossGenius\"})}),\"), \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/ACoAAAzWAfEBAfV7iXv_x6jB0bErZo9oW5NyThg\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Jake Hannan\"})}),\" (Data Platform, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/sigmacomputing/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Sigma Computing\"})}),\"), and \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/john-c/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"John Chen\"})}),\" (Machine Learning Engineer, \",/*#__PURE__*/e(n,{href:\"https://www.meta.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Meta\"})}),\", and Analytics Consultat, \",/*#__PURE__*/e(n,{href:\"https://www.nba.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"NBA\"})}),\") on board as judges.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"Are you ready? Sign up \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge-nba-edition\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"HERE\"})})]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText12\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "motion", "richText1", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "richText11", "richText12", "__FramerMetadata__"]
}
