Tina 데이터 계층: 고성능 편집

2739 단어 nextjsmdxcms
Tina는 Tina의 GraphQL API 및 GitHub의 API와의 직접적인 상호 작용을 전제로 작업했습니다. 이것은 완벽하게 수용 가능한 옵션이지만 매번 "새"데이터로 데이터를 보내고 검색하는 특성으로 인해 성능이 약간 저하됩니다.

Tina 팀은 최근 Tina와 GitHub 사이에 위치하는 새로운 선택적 데이터 계층을 도입했습니다. 앞으로 실험 단계를 벗어나면 이것이 우리의 기본 오퍼링이 될 것입니다. 우리의 데이터 계층은 Tina와 GitHub 간의 요청을 버퍼링하여 콘텐츠를 편집하는 동안 성능을 향상시킵니다. 이 블로그 포스트는 그것이 어떻게 작동하는지, 그것이 무엇을 하는지, 우리가 미래를 위해 계획한 것을 설명할 것입니다!

프로젝트에서 데이터 영역을 활성화하는 방법



최소한의 개발로 데이터 계층을 활성화하고 사용하도록 만들었습니다. 실제로 명령줄 플래그로 --experimentalData를 전달하여 데이터 계층을 활성화할 수 있습니다. 이를 확인하는 가장 쉬운 방법은 package.json 스크립트를 편집하는 것입니다.

"scripts": {
    "dev": "yarn tinacms server:start -c \"next dev\"",
    "build": "yarn tinacms server:start -c \"next build\"",
    "start": "yarn tinacms server:start -c \"next start\" --experimentalData",
  },

플래그가 추가되고 CLI가 실행되면 Tina는 생성된 스키마를 업데이트하여 Tina에게 데이터 계층을 사용하고 싶다고 알립니다.

Once you have generated the Schema, you will need to commit the changes to GitHub for it to start working on the project.



성능 향상을 위해 데이터 계층은 무엇을 합니까?



프로젝트에서 데이터 계층이 활성화되면 리포지토리 사본을 안전한 클라우드 데이터베이스와 자동으로 동기화합니다. Tina가 저장소의 초기 인덱싱을 실행한 후 Tina는 새 콘텐츠 또는 업데이트된 콘텐츠를 자동으로 인덱싱합니다. 이것은 보이지 않는 곳에서 이루어지며 편집할 때 성능이 향상되는 것을 제외하고는 우리가 이 작업을 수행하고 있다는 것을 눈치채지 못할 것입니다.

전체 재색인을 수행할 수 있는 경우



경우에 따라 프로젝트를 완전히 다시 인덱싱해야 할 수도 있습니다. 이것은 일반적으로 프로젝트의 스키마가 변경되었을 때 발생합니다. 예를 들어:
  • .tina\schema.ts에 대한 변경 사항
  • 경로 변경 .tina

  • 참고할 사항



    이것은 아직 실험적인 기능이며 프로젝트에서 활성화하기 전에 다음 사항을 고려해야 합니다.

    1. 인덱싱 프로세스는 최종 사용자에게 노출되지 않습니다. 즉, 인덱싱 프로세스 중에 수행된 쿼리가 불완전한 결과를 반환할 수 있음을 의미합니다.

    2. GitHub에는 리포지토리당 시간당 5000개의 요청으로 API 요청 제한이 있습니다. 매우 큰 프로젝트가 있는 경우 이 속도 제한에 도달할 수 있습니다. 1500개 이상의 항목이 있는 저장소가 있는 경우 이 기능을 활성화하지 마십시오.

    미래



    Tina 팀은 데이터 계층이 실험 단계를 벗어나 성숙해짐에 따라 요청이 많았던 다음과 같은 기능에 대한 계획을 가지고 있습니다. 사실 우리는 이미 아래에 언급된 기능 중 일부에 대한 작업을 시작했으므로 계속 지켜봐 주시기 바랍니다!

    더 복잡하고 고급 쿼리



    데이터 레이어는 우리의 GraphQL 레이어를 훨씬 더 강력하게 열어줍니다. 향후 Tina는 다음을 제공할 계획입니다.

    즉, 전체 데이터 세트가 필요하지 않은 경우 일부 호출을 줄일 수 있습니다. 이에 대한 좋은 예는 기능 섹션에 대해 3개의 블로그 게시물만 필요한 경우입니다. 현재 Tina 통합에서는 모든 게시물을 검색하고 사후에 필터링해야 합니다. 앞으로는 이렇게 할 필요가 없습니다.

    참조 무결성



    데이터 계층의 도입으로 이제 참조 무결성을 제공할 수 있습니다. 이렇게 하면 콘텐츠 작성자가 다른 콘텐츠나 전체 사이트를 손상시킬 수 있는 콘텐츠를 실수로 변경하는 것을 방지할 수 있습니다. 콘텐츠 사용자에게 가장 큰 이점은 기존 참조를 손상시키지 않고 파일 이름을 바꾸거나 콘텐츠를 삭제할 수 있다는 것입니다.

    좋은 웹페이지 즐겨찾기