반응형

전체 글 68

Databricks Lakehouse Federation이란 무엇인가?

🚀 Databricks Lakehouse Federation: 외부 데이터도 한 번에 조회하기Databricks를 사용하다 보면 데이터가 여러 시스템에 흩어져 있는 경우가 많습니다. 모든 데이터를 한곳으로 옮기지 않고 분석하고 싶을 때가 있죠. 이럴 때 유용한 기능이 바로 Lakehouse Federation, 즉 Query Federation(쿼리 페더레이션) 입니다. 이 기능을 사용하면 외부 데이터베이스에 저장된 데이터까지 Databricks SQL로 한 번에 조회할 수 있습니다. 🧭 Lakehouse Federation이란?Lakehouse Federation은 Databricks의 Unity Catalog 기능 중 하나입니다. 이 기능을 통해 Databricks 내부 데이터뿐만 아니라 외부 데..

Databricks Assert Bundle이란 무엇인가?

📦 Databricks Asset Bundles란?Databricks Asset Bundles는 데이터 및 AI 프로젝트를 패키지 단위로 관리할 수 있도록 해주는 도구입니다. 즉, 소스 코드 + Databricks 리소스 정의 + 환경 설정을 하나로 묶어, 버전 관리·테스트·배포까지 체계적으로 할 수 있게 합니다. 🔑 주요 특징프로젝트 전체를 파일 기반으로 정의 (Git에서 관리 가능)Databricks 리소스(잡, 파이프라인, 대시보드, 모델 서빙, MLflow 등)를 소스 파일로 선언적 정의개발 → 테스트 → 배포 전 과정을 일관성 있게 자동화 가능협업, 코드 리뷰, CI/CD 적용에 유리📂 번들에 포함되는 것클라우드 인프라 및 워크스페이스 설정 (개발/스테이징/운영 환경 정의)소스 파일 (노트..

Databricks Photon 엔진이란?

Photon은 Databricks에 내장된 차세대 벡터화 쿼리 엔진으로, SQL과 DataFrame 워크로드를 훨씬 더 빠르고 효율적으로 실행해주는 엔진입니다. Apache Spark API와 완벽하게 호환되기 때문에 기존 코드를 수정할 필요 없이 바로 사용할 수 있습니다. 🔹 왜 중요한가?성능 향상: 쿼리, 집계, 조인 등을 기존 Spark 엔진보다 빠르게 처리비용 절감: 실행 시간이 짧아져서 전체 워크로드당 비용이 줄어듬on은 Databricks에 내장된 차세대 벡터화 쿼리 엔진으로, SQL과 DataFrame 워크로드를 훨씬 더 빠르고 효율적으로 실행해주는 엔진입니다. Apache Spark API와 완벽하게 호환되기 때문에 기존 코드를 수정할 필요 없이 바로 사용할 수 있습니다.🔹 왜 중요한가..

Databricks Liquid Clustering: 성능 최적화와 운영 가이드

Lakehouse 환경에서 테이블을 어떻게 최적화하느냐는 쿼리 성능과 운영 효율성에 직결되는 중요한 요소입니다. 지금까지는 파티셔닝(Partitioning)이나 ZORDER 인덱싱을 통해 데이터 레이아웃을 최적화하는 방식이 주로 사용되었습니다. 하지만 이 방식들은 파티션 키 설계 부담이 크거나, 데이터가 갱신될 때마다 다시 정렬 작업을 해야 하는 등의 한계가 있었습니다. Databricks가 새롭게 선보인 Liquid Clustering은 이러한 문제를 해결하기 위해 등장한 차세대 데이터 최적화 기능입니다. Liquid Clustering은 기존 데이터를 다시 쓰지 않고도 클러스터링 키를 유연하게 변경할 수 있으며, Streaming Table과 Materialized View까지 지원하여 운영의 복잡성..

왜 모두가 Spark를 쓰는가? 분산 데이터 처리의 정석

Apache Spark는 대규모 데이터를 빠르게 처리하기 위해 설계된 오픈소스 분산 데이터 처리 프레임워크입니다. 기존의 Hadoop MapReduce보다 훨씬 빠른 속도를 자랑하며, 메모리 기반의 연산 처리 덕분에 반복적이고 복잡한 연산에도 강점을 가지고 있습니다. 특히 머신러닝, 실시간 스트리밍, SQL 쿼리 처리, 그래프 분석 등 다양한 분야에 활용할 수 있어 빅데이터 생태계에서 매우 중요한 역할을 하고 있습니다. Spark는 Scala로 개발되었지만, Python(PySpark), Java, R 등 다양한 언어를 지원하기 때문에 개발자들이 손쉽게 접근할 수 있다는 것도 큰 장점입니다. Spark의 특징Apache Spark는 다양한 기능과 성능적 이점 덕분에 많은 기업과 개발자들이 선호하는 빅데이..

빅데이터/Spark 2025.07.30

스스로 배우는 AI? MIT가 개발한 놀라운 언어 모델 SEAL

최근 몇 년 사이, ChatGPT나 GPT-4 같은 대규모 언어 모델(LLM)은 다양한 언어 작업에서 놀라운 성과를 보여주며 큰 주목을 받았습니다. 하지만 이 강력한 모델들은 학습이 끝난 후에는 고정된 상태로, 새로운 정보나 작업에 유연하게 적응하기 어렵다는 한계를 가지고 있습니다. 예를 들어, 최신 뉴스나 특정 도메인의 전문 지식을 반영하려면 다시 훈련시키거나 별도의 데이터를 입력해줘야 하죠. 이러한 문제를 해결하기 위해 MIT 연구진은 SEAL(Self-Adapting Language Models)이라는 새로운 프레임워크를 제안했습니다. SEAL의 핵심 아이디어는 간단하면서도 강력합니다. 바로 모델이 스스로 학습 데이터를 생성하고, 그 데이터를 바탕으로 자신을 튜닝하여 더 똑똑해지는 방식입니다. 마치..

AI 2025.07.27

Ansible이란? IT 자동화의 시작을 함께해요!

IT 인프라를 관리하다 보면 반복적인 작업이 끊임없이 발생합니다. 수십 대, 수백 대의 서버에 동일한 소프트웨어를 설치하거나 설정을 바꿔야 할 때, 일일이 수작업으로 진행하는 건 시간도 오래 걸리고 실수도 생기기 쉽죠. 이런 문제를 해결해주는 강력한 도구가 바로 Ansible입니다. 간단한 문법과 강력한 기능을 갖춘 Ansible은 전 세계 DevOps와 시스템 관리자들에게 사랑받는 자동화 툴입니다. 이 글에서는 Ansible이 무엇인지, 어떤 특징을 가지고 있는지, 왜 많은 기업들이 Ansible을 사용하는지 쉽게 풀어 소개해드릴게요.🛠 Ansible은 어떤 프로젝트인가요?Ansible은 IT 인프라 자동화를 위해 만들어진 오픈소스 프로젝트입니다.목표는 다음과 같습니다:복잡한 시스템 운영을 간단하게 ..

카테고리 없음 2025.07.18

💡 가장 빠르게 팰린드롬을 찾는 알고리즘, Manacher’s Algorithm

💡 가장 빠르게 팰린드롬을 찾는 알고리즘, Manacher’s Algorithm팰린드롬(Palindrome)은 앞에서 읽든 뒤에서 읽든 같은 문자열을 말합니다.예: "abba", "racecar", "a" 등.많은 문자열 문제 중 "가장 긴 팰린드롬 부분 문자열"을 찾는 문제는 매우 유명합니다.일반적으로는 다이내믹 프로그래밍(DP)을 활용해서 O(n²) 시간에 해결하지만,O(n) 시간에 해결 가능한 아주 특별한 알고리즘이 있습니다. 바로 오늘 소개할 Manacher’s Algorithm (마나처 알고리즘) 입니다.🧩 문제 정의문자열 s가 주어졌을 때,그 안에 포함된 가장 긴 팰린드롬 부분 문자열을 찾아라.예시:Input: "babad"Output: "bab" (또는 "aba")⏱️ 시간복잡도 비교알..

알고리즘 문제 2025.07.10

다이내믹 프로그래밍(Dynamic Programming) 문제로 이해하기

📘 문제: 가장 긴 팰린드롬 부분 문자열주어진 문자열 s에서, 가장 긴 팰린드롬(회문) 부분 문자열을 찾아서 반환하세요.팰린드롬이란 앞에서 읽든 뒤에서 읽든 동일한 문자열을 의미합니다.예: "aba", "racecar", "a"는 팰린드롬입니다. ✨ 예시예시 1입력: "babad"출력: "bab"(또는 "aba"도 정답으로 인정됩니다)예시 2입력: "cbbd"출력: "bb"⛓️ 제약 조건문자열 s의 길이는 최소 1, 최대 1000입니다.문자열 s는 영어 알파벳(az, AZ) 또는 숫자로만 구성됩니다.🔍 목표문자열 내에서 가장 긴 연속된 팰린드롬 부분 문자열을 찾아서 반환하는 프로그램을 작성하세요.🧠 핵심 아이디어문자열 s[i..j]가 팰린드롬인지 아닌지를 저장하는 DP 테이블을 만듭니다.dp[i][..

알고리즘 문제 2025.07.09

다이내믹 프로그래밍(Dynamic Programming) 이해하기

✅ 다이내믹 프로그래밍이란?복잡한 문제를 더 작은 문제로 나눠서 풀고,그 결과를 저장해두어 같은 계산을 반복하지 않는 방법이에요.📦 핵심 개념 2가지중복되는 하위 문제 (Overlapping Subproblems)👉 같은 계산을 여러 번 반복하는 문제최적 부분 구조 (Optimal Substructure)👉 큰 문제의 최적해가 작은 문제들의 최적해로 구성되는 경우이 두 가지가 있을 때 다이내믹 프로그래밍이 쓸 수 있어요.🎯 예시로 쉽게 이해해보자 (피보나치 수열)피보나치 수열은 다음과 같이 정의돼요:f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) ❌ 나쁜 방법: 재귀만 쓰기 (중복 계산 많음)def fib(n): if n fib(5)를 계산하려면 fib(4)와 fib(..

알고리즘 문제 2025.07.02
반응형