Marginalia 검색 인덱스: 성능 대폭 향상

2025-08-17

Marginalia 검색 엔진은 최신 하드웨어를 더 효과적으로 활용하기 위해 인덱스를 대폭 재설계했습니다. 메모리 매핑된 B-트리와 결정론적 블록 기반 스킵 리스트를 사용하고, 블록 크기와 I/O 전략을 신중하게 조정하여 검색 속도가 극적으로 향상되었습니다. 이 글에서는 새로운 데이터 구조와 성능 최적화에 대해 자세히 설명하고, NVMe SSD의 읽기 성능 특성과 블록 크기 및 I/O 모드 조정을 통한 성능 극대화 방법을 살펴봅니다.

더 보기
개발

Marginalia 검색 엔진: 온라인 상태 및 소유권 변경 감지 개선

2025-06-19

Marginalia 검색 엔진 팀은 서버의 온라인 상태와 소유권 이전 및 도메인 파킹을 포함한 중요한 웹사이트 변경 사항을 감지하기 위한 새로운 시스템인 'ping-process'를 구현했습니다. 주로 HTTP HEAD 요청과 DNS 쿼리를 사용하여 인증서 세부 정보, 보안 상태, 서버 헤더를 분석하고 변경 사항을 식별합니다. 데이터는 '스냅샷' 테이블과 '이벤트' 테이블에 저장되며, 전자는 현재 정보를, 후자는 이력 이벤트를 보유합니다. 이 시스템은 스케줄링 및 인증서 검증 문제를 극복했으며, 파킹된 도메인 식별에서 초기 성공을 거두었습니다. 향후 계획에는 소유권 변경 감지 모델 개선 및 효율 향상을 위한 크롤러 전략 통합이 포함됩니다.

더 보기

AI 과부하: 디스토피아적 미래의 하루?

2025-05-23

AI 알람부터 보안 조치가 과도한 헬스장, 그리고 기능을 끊임없이 자랑하는 자동차까지 주인공의 하루는 어디에나 존재하는 AI에 압도당한다. 보기에 편리한 이 미래는 숨 막히는 불편함과 프라이버시 침해로 가득 차 있으며, AI 기술의 과도한 발전과 인간 관계의 부족에 대해 생각해 보게 만든다.

더 보기
기술

검색 엔진, PDF 인덱싱 추가: 텍스트 추출 과제 극복

2025-05-13

검색 엔진이 최근 PDF 파일 인덱싱 기능을 추가했습니다. 하지만 이는 보이는 것보다 훨씬 복잡합니다. PDF는 텍스트 기반이 아니라 그래픽 기반이며, 텍스트는 회전, 중복 또는 무질서한 글리프 좌표로 표현됩니다. 이 기사에서는 PDFBox의 PDFTextStripper 클래스 개선 사항을 자세히 설명합니다. 글꼴 크기와 줄 간격의 통계적 분석을 통해 제목과 단락과 같은 의미 정보를 더 효과적으로 식별합니다. 이를 통해 PDF 텍스트 추출의 정확도와 적합성이 향상되어 PDF 콘텐츠의 효율적인 인덱싱이 가능해집니다.

더 보기
개발 PDF 인덱싱

검색 엔진 크롤러 최적화: 0.1%의 긴 꼬리

2025-03-27

검색 엔진 크롤러는 작업 완료에 항상 어려움을 겪었으며, 마지막 도메인에 며칠씩 소요되었습니다. 최근 축소된 크롤링 데이터로의 마이그레이션을 통해 메모리 사용량이 80% 감소하고 크롤링 작업 수가 증가했습니다. 이로 인해 4일 만에 99.9%가 완료되었지만, 나머지 0.1%에는 1주일이 걸렸습니다. 이 문제는 웹사이트 크기가 파레토 분포를 따르고, 대규모 웹사이트(특히 수많은 하위 도메인과 문서를 가진 학술 웹사이트)와 도메인당 동시 작업에 대한 크롤러 제한 때문입니다. 초기 랜덤 순서 지정으로 인해 대규모 웹사이트가 늦게 시작되었습니다. 하위 도메인 수에 따른 정렬은 블로그 호스트에 대한 요청 급증으로 이어졌습니다. 요청 간 지연에 지터를 추가하고 8개 이상의 하위 도메인을 가진 웹사이트를 우선시하도록 정렬 순서를 조정함으로써 문제가 부분적으로 해결되었습니다. 그러나 배치 지향 크롤링 모델의 고유한 제한으로 인해 추가 최적화가 필요합니다.

더 보기

Marginalia 검색 프로젝트, 두 번째 NLNet 보조금 수령

2025-03-25

Marginalia 검색 프로젝트가 NLNet으로부터 두 번째 보조금을 받았습니다! 이 자금은 2025년 프로젝트 로드맵의 대부분을 지원할 것입니다. 2023년 여름부터 풀타임 개발이 진행되어 왔으며, 이번 보조금으로 개발 시간을 더 확보하고 프로젝트 일정을 크게 연장할 수 있게 되었습니다. 자세한 내용은 추후 공개될 예정입니다.

더 보기

AI 스타트업 가이드: 더 나쁜 네티즌이 되는 방법

2025-03-22

이 풍자적인 글은 AI 스타트업이 훈련 데이터를 얻기 위해 취하는 극단적인 조치들을 자세히 설명합니다. robots.txt를 무시하고 사용자 에이전트를 위조하여 양식, Git 저장소, 심지어 이웃의 Wi-Fi까지 무자비하게 크롤링합니다. 연결 풀을 사용하지 않고, 연결을 닫지 않고, 의도적으로 패킷을 삭제합니다. 모두 속도와 데이터 확보를 위해서입니다. 이 글은 성공을 추구하는 일부 AI 스타트업이 보여주는 규칙과 윤리에 대한 무모한 무시를 유머러스하게 강조하며, 결국에는 평판 손상으로 이어짐을 보여줍니다.

더 보기
스타트업