윈FS
WinFS한 canceled[2]데이터 저장과 관리 체계가 사업 관계형 데이터베이스에 기반한 마이크로 소프트에 의해 2003년에 처음 MicrosoftWindows운영 체제, 구조화된, semi-struc의 끈기와 경영을 위해 설계된 첨단 스토리지 서브 시스템으로 시연 개발하 WinFS(Windows미래에 짧은)[1]은 코드 명칭이다.tured구조화되지 않은 데이터.
WinFS는 정보의 저장을 위한 관계형 데이터베이스를 포함하며, 유형에 대해 잘 정의된 스키마가 있는 경우 어떤 유형의 정보도 그 안에 저장될 수 있다.그런 다음 개별 데이터 항목은 특정 속성에 기반한 시스템에 의해 추론되거나 사용자가 명시적으로 진술하는 관계에 의해 함께 연관될 수 있다.데이터가 잘 정의된 스키마를 가지고 있기 때문에, 어떤 애플리케이션도 데이터를 재사용할 수 있으며, 관계를 이용하여 관련 데이터를 효과적으로 정리할 수 있을 뿐만 아니라 검색될 수도 있다.시스템은 정보의 구조와 의도를 알기 때문에, 데이터를 통한 고급 검색이 가능하고, 이들 간의 관계를 이용하여 다양한 데이터 항목을 취합할 수 있는 복잡한 질의에 이용할 수 있다.
WinFS와 그 공유형 스키마는 애플리케이션이 다른 데이터 유형을 인식할 수 있게 하지만, 애플리케이션은 여전히 다른 데이터 유형을 렌더링하기 위해 코딩되어야 한다.따라서, 그것은 모든 데이터 유형을 보거나 편집할 수 있는 단일 애플리케이션의 개발을 허용하지 않을 것이다. 오히려, 애플리케이션이 할 수 있게 하는 것은 모든 데이터의 구조를 이해하고 그들이 추가로 사용할 수 있는 정보를 추출하는 것이다.마이크로소프트는 윈FS가 2003년 프로페셔널 개발자 컨퍼런스에서 소개되었을 때, IWish라는 이름의 비디오 프레젠테이션을 발표했는데,[3] 응용 프로그램이 어떻게 통일형 시스템을 이용하는 인터페이스를 노출시키는지 보여주는 모형 인터페이스가 보여 주었다.영상에 나타난 개념은 항목 관계를 사용하는 애플리케이션에서부터 필터링 옵션을 동적으로 제공하는 애플리케이션까지 여러 개의 관련 데이터 유형을 그룹화하여 통일된 프레젠테이션에서 렌더링하는 애플리케이션까지 다양했다.
WinFS는 "롱혼" 기술의 물결의 한 축으로 여겨졌고, 다음 버전의 Windows의 일부로 배송될 것이다.이후 윈FS는 윈도 비스타 출시 후 출하하기로 결정되었으나 2006년 6월 일부 부품 기술이 ADO에 통합되면서 계획이 보류되었다.[4]NET 및 Microsoft SQL Server.[5]
동기
Microsoft Windows의 최신 버전에서 사용되는 NTFS 파일 시스템을 포함하여 공통 운영 체제에서 발견되는 많은 파일 시스템은 파일 및 기타 개체를 바이트 스트림으로만 저장하며 파일에 저장된 데이터에 대한 정보는 거의 또는 전혀 없다.또한 이러한 파일 시스템은 디렉토리 및 파일 이름을 통해 파일을 구성할 수 있는 단 하나의 방법만 제공한다.[6][7]
파일 시스템은 저장하는 데이터에 대한 지식이 없기 때문에 애플리케이션은 종종 독점적인 그들 자신의 파일 형식을 사용하는 경향이 있다.[6]이것은 여러 응용 프로그램 간의 데이터 공유를 방해한다.프로그래머들은 모든 파일의 구조와 의미론을 이해해야 하기 때문에, 여러 종류의 파일로부터 정보를 처리하는 애플리케이션을 만드는 것은 어려워진다.[8]공통 파일 형식을 사용하는 것은 이 문제에 대한 해결책이지만 보편적인 해결책은 아니다. 모든 응용 프로그램이 이 형식을 사용할 것이라는 보장은 없다.XML 문서와 관계형 데이터 등 표준화된 스키마를 가진 데이터는 표준화된 구조와 런타임 요구사항을 가지고 있기 때문에 더 효과적이다.[9]
또한, 전통적인 파일 시스템은 오직 파일 이름에 근거하여 데이터를 검색하고 검색할 수 있다. 데이터에 대한 유일한 지식은 데이터를 저장하는 파일의 이름이기 때문이다.[8]더 나은 해결책은 파일을 설명하는 속성으로 파일에 태그를 지정하는 것이다.속성은 파일 유형(문서, 그림, 음악, 크리에이터 등)과 같은 파일에 대한 메타데이터다.[6]이를 통해 "개인 X가 있는 사진"을 찾는 것과 같이 폴더 계층 구조를 사용할 수 없는 방식으로 파일을 속성별로 검색할 수 있다.속성은 기본적으로 파일 시스템 또는 확장자를 통해 인식할 수 있다.[6]데스크톱 검색 애플리케이션은 이 개념을 한 단계 더 발전시켰다.파일에서 속성을 포함한 데이터를 추출하고 인덱싱한다.데이터를 추출하기 위해 각 파일 형식에 필터를 사용한다.이를 통해 파일의 속성과 그 안에 있는 데이터를 모두 기준으로 검색할 수 있다.[6]
그러나, 상이한 항목들은 어떠한 관계도 정의되어 있지 않기 때문에, 이것은 여전히 관련 데이터를 관리하는 데 도움이 되지 않는다.예를 들어, "아카풀코에 살고 있고 각각 내 사진 수집에 100개 이상의 출처를 가지고 있고 지난달에 내가 이메일을 가지고 있는 모든 사람들의 전화번호"를 검색하는 것은 불가능하다.그러한 검색은 데이터의 관계뿐만 아니라 의미론을 모두 가지고 있는 데이터 모델에 기초하지 않는 한 수행될 수 없다.[6][7]WinFS는 이러한 데이터 모델과 데이터를 저장하는 데 사용할 수 있는 런타임 인프라, 그리고 데이터 모델에 따른 데이터 항목 간의 관계를 만족스러운 성능 수준으로 제공하는 것을 목표로 한다.
개요
WinFS는 기본적으로 사진, 이메일, 문서, 오디오, 비디오, 캘린더, 연락처와 같은 다양한 유형의 데이터를 분석되지 않은 원시 데이터(대부분의 파일 시스템처럼)로 남겨두는 것이 아니라 인식한다.시스템에서 저장 및 관리하는 데이터는 WinFS 런타임에 의해 인식되는 데이터 유형의 인스턴스다.데이터는 속성에 의해 구조화된다.예를 들어, 이력서 유형의 예제는 이름, 교육적 자격, 경험 같은 속성을 노출하여 데이터를 표면화한다.각 속성은 단순한 유형(줄, 정수, 날짜) 또는 복잡한 유형(연락처)일 수 있다.[8][10]데이터 유형에 따라 다른 속성이 노출된다.또한 WinFS는 문서와 연락처와 같이 Authored By 관계에 의해 관련될 수 있는 다양한 데이터 인스턴스를 허용한다.[7][10]관계도 속성으로 노출된다. 예를 들어, 문서가 작성자 관계에 의해 연락처와 관련된 경우, 문서에 작성자 속성이 있다.접속이 되면, 관계가 횡행되고 관련 데이터가 반환된다.[10]관계를 따름으로써 모든 관련 자료에 도달할 수 있다.[7]WinFS는 스키마와 함께 모든 애플리케이션이 데이터 유형에 액세스할 수 있도록 함으로써 애플리케이션 간 데이터 공유를 촉진한다.[8]애플리케이션이 WinFS 유형을 사용하고자 할 때, 스키마를 사용하여 데이터 구조를 찾을 수 있고 정보를 사용할 수 있다.따라서 개발자가 다른 데이터 형식을 인식하기 위해 파서를 쓸 필요가 없음에도 불구하고 응용프로그램은 시스템의 모든 데이터에 접근할 수 있다.또한 관계와 관련 데이터를 사용하여 응용 프로그램이 다루는 정보를 표시하는 동적 필터를 만들 수 있다.WinFS API는 데이터 액세스 작업을 더욱 추상화한다.모든 WinFS 유형은 로 노출된다.개체 속성이 데이터 유형의 속성에 직접 매핑되는 NET 개체.[6]또한 동일한 데이터를 처리하는 다른 애플리케이션이 다른 파일에 동일한 데이터를 저장하는 대신 동일한 WinFS 데이터 인스턴스를 공유하도록 함으로써 데이터 변경이 제거될 때 서로 다른 저장소를 동기화해야 하는 번거로움도 생긴다.[11]따라서 WinFS는 중복을 줄일 수 있다.[6][9]
시스템의 모든 데이터에 액세스하면 WinFS에서 관리하는 모든 데이터 항목에 대한 복잡한 데이터 검색이 가능하다.위에서 사용한 예("Acapulco에 살고 있고 각각 내 사진 수집에 100개 이상의 출처를 가지고 있으며 지난달에 내가 이메일을 받은 모든 사람의 전화 번호")에서 WinFS는 연락처 항목을 찾기 위해 모든 사진의 주제 관계를 통과할 수 있다.마찬가지로, 지난 달에는 모든 이메일을 필터링할 수 있고 연락처와 관련하여 전달된 정보에 액세스할 수 있다.그런 다음 공통 연락처를 연락처 항목의 적절한 속성에 액세스하여 검색한 두 가지 결과 집합과 전화 번호에서 확인할 수 있다.
WinFS는 완전히 도식화된 데이터(예: XML 및 관계형 데이터) 외에도 구조화되지 않은 데이터(예: 구조화되지 않은 비트스트림과 구조화된 메타데이터가 있는 이미지)뿐만 아니라 구조화되지 않은 데이터(파일 등)도 지원한다.구조화된 저장소에 구조화된 메타데이터를 저장하면서 구조화되지 않은 구성요소를 파일로 저장한다.[10]내부적으로 WinFS는 관계형 데이터베이스를 사용하여 데이터를 관리한다.특정 데이터 모델에 속하도록 데이터를 제한하지 않는다.WinFS 런타임은 스키마가 관계를 나타내는 데 필요한 기본 키와 외래 키를 저장할 테이블을 정의함으로써 스키마를 관계형 모달리티에 매핑한다.[6]WinFS는 기본적으로 개체 및 XML 스키마에 대한 매핑을 포함한다.다른 스키마에 대한 매핑을 지정해야 한다.객체 스키마는 XML로 지정되며, WinFS는 스키마를 로 표면화하는 코드를 생성한다.NET 클래스.ADO.NET은 관계 스키마를 클래스로 표면화하기 위해 객체 스키마에 대한 매핑을 제공해야 하지만 직접 관계 스키마를 지정하는 데 사용할 수 있다.[10]관계 통과는 이 테이블에서 조인으로 수행된다.또한 WinFS는 정보에 대한 빠른 액세스를 가능하게 하기 위해 이러한 테이블에 인덱스를 자동으로 만든다.[10]인덱싱은 조인의 속도를 크게 높이고 관련 데이터를 검색하기 위한 관계 통과는 매우 빠르게 수행된다.인덱스는 정보 검색 시에도 사용된다. 검색 및 쿼리 시 인덱스를 사용하여 데스크톱 검색 시스템과 마찬가지로 작업을 신속하게 완료한다.
개발
이 글의 사실적 정확성은 시대에 뒤떨어진 정보로 인해 훼손될 수 있다. 사용 하도록 이 하십시오.(2019년 2월) |
구조화된 스토리지 타임라인 | ||||||||||||||||
1990 — – 1991 — – 1992 — – 1993 — – 1994 — – 1995 — – 1996 — – 1997 — – 1998 — – 1999 — – 2000 — – 2001 — – 2002 — – 2003 — – 2004 — – 2005 — – 2006 — – 2007 — – 2008 — – 2009 — – 2010 — – 2011 — – 2012 — – 2013 — – 2014 — – 2015 — – 2016 — – 2017 — – 2018 — – 2019 — | 윈FS[12] 마이크로소프트 시맨틱 엔진 |
| ||||||||||||||
마이크로소프트가 수행한 다양한 구조화 스토리지 프로젝트의 타임라인.아직 완전한 런타임과 API를 제공하는 결과를 가져오지 못했다.나이는 근사하다. |
윈FS의 개발은 1990년대 초반에 처음 계획되었던 특징에 대한 확장이다.Object File System으로 불리는 이 시스템은 카이로의 일부로 포함되어야 했다.OFS는 강력한 데이터 수집 기능을 갖도록 되어 있었지만 카이로 프로젝트는 보류되었고,[12] OFS와 함께.그러나, 나중에 COM이 개발되는 동안, 당시 떠오르는 SQL Server 8.0을 기반으로 스토리지+라고 불리는 스토리지 시스템이 계획되었고, 이 시스템은 유사한 통합 기능을 제공하기로 예정되었다.[12]이것 역시 실현되지 않았으며, 이와 유사한 기술인 RFS(Relational File System)는 SQL Server 2000과 함께 출시될 것으로 생각되었다.[12]그러나 SQL Server 2000은 SQL Server 7.0으로의 사소한 업그레이드가 되고 RFS는 구현되지 않았다.
이 개념은 폐기되지 않았고, 윈FS의 근거지 역할을 했다.[12]윈FS는 당초 윈도 비스타에 포함되도록 계획돼 2003년 마이크로소프트 프로페셔널 개발자 콘퍼런스에서 개발자들에게 부여된 코드명 '롱혼'으로 불리던 윈도 비스타 4051을 만들었지만 상당한 성능 문제로 어려움을 겪었다.[14][dead link][12]2004년 8월, 마이크로소프트는 윈FS가 윈도우 비스타와 함께 배송되지 않을 것이며, 대신 비스타 출시 이후 다운로드 가능한 업데이트로 이용 가능할 것이라고 발표했다.[12]
2005년 8월 29일,[12] 마이크로소프트는 조용히 MSDN 가입자들이 WinFS의 베타 1을 이용할 수 있도록 만들었다.Windows XP에서 작동했으며 이 필요했다.실행할 NET Framework.WinFS API는 시스템에 포함되었다.저장소 네임스페이스.[15]베타 버전은 의 2.0 버전과 호환되도록 2005년 12월 1일에 새로 고쳐졌다.NET Framework.[16]WinFS 베타 2는 2006년 이후 일정 기간 동안 계획되었으며 Windows 데스크톱 검색과의 통합을 포함하도록 되어 있어 검색 결과에는 ADO를 사용한 WinFS 데이터 액세스가 허용될 뿐만 아니라 일반 파일과 WinFS 스토어의 결과도 포함되도록 되어 있었다.[17]네트.[18]
2006년 6월 23일, 마이크로소프트의 WinFS 팀은 WinFS가 더 이상 별도의 제품으로 제공되지 않을 것이며,[4][19] 일부 부품은 다른 기술의 산하에 도입될 것이라고 발표했다.마이크로소프트가 WinFS에 제공하고자 하는 많은 원칙적 특징에는 메타데이터 속성 편집, broadcrumb 기반 속성 탐색, 속성 위에 항목 필터링 또는 쌓기, 증분 검색 및 저장된 검색을 위한 창이 포함되어 있다.[20] 이러한 기능은 윈도우 비스타에 통합되었다.[21]사용자가 이전 쿼리의 결과를 재사용하는 추가 검색을 수행할 수 있도록 허용한 WinFS의 기능인 쿼리 구성은 나중에 Windows Vista에 통합되었다.[22][23]
이 기술의 사용 예로는 ADO에 대한 객체-관계 매핑 구성요소가 있다.NET 엔티티 프레임워크: 비정형 데이터 지원, 무관리 운영 모드 지원, 을 통한 파일 시스템 개체 지원FILESTREAM
데이터 유형, 그리고 SQL Server 2008의 계층적 데이터, 그리고 나서 코드화된 Katmai, 그리고 Win32와의 통합API와 Windows Shell, Microsoft SQL Server의 이후 릴리스로 관계를 전달하여 계층의 횡단을 지원하고, 동기화 구성 요소를 Microsoft Sync Framework로 이동시킨다.[5][5]
2013년 빌 게이츠는 마이크로소프트에 대한 자신의 가장 큰 실망감으로 윈FS를 꼽았으며, 윈FS에 대한 아이디어가 재조명될 시대를 앞섰다고 말했다.[24]
데이터 스토리지
건축
WinFS는 SQL Server 2005에서 파생된 관계형 엔진을 사용하여 데이터 관계 메커니즘을 제공한다.[25]WinFS 저장소는 SQL Server 데이터베이스(.FILESTREAM 특성이 설정된 MDF) 파일.[26]이러한 파일은 "시스템 볼륨 정보"(볼륨 루트에 배치)라는 액세스 제한이 있는 폴더에 저장되며, 이러한 저장소의 GUID 이름과 함께 "WinFS" 폴더의 폴더에 저장된다.[26]
WinFS 스택 하단에는 파일 시스템과 상호 작용하여 파일 액세스 및 -addressing 기능을 제공하는 WinFS Core가 있다.[8]관계형 엔진은 WinFS 핵심 서비스를 활용하여 구조화된 스토어 및 잠금과 같은 기타 서비스를 제공하며, WinFS 런타임은 이 기능을 구현하기 위해 사용한다.WinFS 런타임은 WinFS 저장소를 동기화하거나 특정 이벤트 발생에 대한 특정 작업을 수행하는 데 사용할 수 있는 동기화 및 규칙과 같은 서비스를 노출한다.[8]
WinFS는 다음과 같은 세 가지 프로세스를 실행하는 서비스로 실행된다.[27]
- 관계형 데이터스토어를 호스팅하는 WinFS.exe
- 인덱싱 및 쿼리 엔진을 호스팅하는 WinFSech.exe
- 기본 파일 시스템과 인터페이스하는 WinFPM.exe(WinFS 파일 프로모션 관리자)
그것은 일련의 을 통해 그것의 특징에 대한 프로그램적인 접근을 허용한다.NET Framework API.이를 통해 애플리케이션은 사용자 정의 데이터 유형을 정의하고, 데이터 간의 관계를 정의하며, 정보를 저장하고 검색하며, 고급 검색을 허용할 수 있다.[6][8]그런 다음 애플리케이션은 데이터를 집계하고 집계된 데이터를 사용자에게 제공할 수 있다.
데이터 저장소
윈FS는 데이터를 관계형 저장소에 저장하는데, 이 저장소는 스토어라고 불리는 가상 위치로 노출된다.[12]WinFS 저장소는 응용프로그램이 메타데이터, 관계 및 스키마와 함께 데이터를 저장할 수 있는 공통 저장소다.WinFS 런타임은 특정 관계 그 자체를 적용할 수 있다. 예를 들어, 그림의 주체 속성과 연락처의 이름 속성의 값이 같을 경우, WinFS는 사진과 연락처를 연관시킬 수 있다.[28]관계도 다른 애플리케이션이나 사용자가 지정할 수 있다.[29]
WinFS는 유니파이드 스토리지를 제공하지만, 데이터 저장소에 저장할 포맷의 정의에는 미치지 못한다.대신 애플리케이션별 형식으로 데이터 쓰기를 지원한다.그러나 애플리케이션은 파일 형식을 해석하는 방법을 정의하는 스키마를 제공해야 한다.[6]예를 들어, WinFS가 읽는 방법을 이해하고 PDF 파일을 검색 및 분석할 수 있도록 스키마를 추가할 수 있다.스키마를 사용함으로써 어떤 애플리케이션도 다른 애플리케이션으로부터 데이터를 읽을 수 있고, 이것은 또한 스키마를 공유함으로써 서로 다른 애플리케이션들이 서로의 형식으로 쓰도록 한다.[29]
하나의 기계에 여러 개의 WinFS 저장소를 만들 수 있다.[29]이를 통해 서로 다른 등급의 데이터를 분리하여 보관할 수 있다. 예를 들어 공식 문서와 개인 문서는 서로 다른 매장에 보관할 수 있다.기본적으로 WinFS는 "DefaultStore"[12]라는 이름의 저장소를 하나만 제공한다.WinFS 저장소는 가상 폴더와 마찬가지로 셸 개체로 노출되어 저장소에 있는 모든 항목의 목록을 동적으로 생성하여 폴더 보기에 표시한다.셸 개체도 데이터스토어에서 정보를 검색할 수 있다.[12]
WinFS 저장소에 저장해야 하는 데이터 단위를 WinFS 항목이라고 한다.[6][29]WinFS 항목에는 핵심 데이터 항목과 함께 데이터 항목이 다른 데이터와 어떻게 관련되어 있는지에 대한 정보도 포함되어 있다.이 관계는 논리적 연결의 관점에서 저장된다.링크는 현재 항목과 관련된 다른 데이터 항목을 지정하십시오.다시 말해, 링크는 다른 데이터 항목과의 데이터 관계를 명시한다.링크는 링크 식별자를 사용하여 물리적으로 저장되며, 링크 식별자는 다음과 같이 관계의 유형과 의도를 명시한다.[6]링크 식별자는 데이터 항목의 속성으로 저장된다.링크 ID가 동일한 모든 객체는 연관성이 있는 것으로 간주된다.[6]WinFS에 저장될 데이터 항목의 구조를 정의하는 XML 스키마는 사전에 WinFS 런타임에 제공되어야 한다.[6]WinFS의 베타 1에서는 스키마 어셈블리를 사용하기 전에 GAC에 추가해야 했다.
데이터 모델
WinFS는 데이터 항목을 사용하여 데이터를 모델링하고 데이터 항목의 관계, 확장 및 사용 규칙을 관리한다.[8]WinFS는 데이터 항목의 유형과 구조를 파악하여 데이터 항목에 저장된 정보를 요청하는 모든 애플리케이션에 사용할 수 있도록 해야 한다.이것은 스키마의 사용으로 이루어진다.WinFS에 저장해야 하는 모든 데이터 항목의 유형에 대해 데이터의 유형, 구조 및 연결을 정의하기 위한 해당 스키마가 제공되어야 한다.이러한 스키마는 XML을 사용하여 정의된다.[6]
미리 정의된 WinFS 스키마에는 문서, 전자 메일, 약속, 작업, 미디어, 오디오, 비디오에 대한 스키마가 포함되며, 구성, 프로그램 및 기타 시스템 관련 데이터를 포함하는 시스템 스키마가 포함된다.[8]사용자 정의 스키마는 애플리케이션이 자신의 데이터를 WinFS에 저장하지만 해당 데이터의 구조를 다른 애플리케이션과 공유하지 않거나 시스템 전체에 걸쳐 사용할 수 있는 상황에서 애플리케이션별로 정의될 수 있다.[8]
유형 시스템
파일 시스템과 WinFS의 가장 중요한 차이점은 WinFS가 저장하는 각 데이터 항목의 유형을 알고 있다는 것이다.그리고 유형은 데이터 항목의 속성을 지정한다.WinFS 유형 시스템은 와 밀접하게 관련되어 있다.NET Framework의 클래스 및 상속 개념.미리 정의된 유형을 확장하고 중첩하여 새로운 유형을 생성할 수 있다.[6]
WinFS는 항목, 관계, 스칼라 유형 및 중첩의 네 가지 미리 정의된 기본 유형 제공유형.[6] 항목은 저장될 수 있는 기본 데이터 개체이며, 관계는 두 데이터 항목 사이의 관계 또는 연결이다.모든 WinFS 항목은 유형을 가져야 하므로 저장된 항목의 유형은 해당 속성을 정의한다.항목의 속성은 속성이 가질 수 있는 정보의 최소 단위를 정의하는 ScalarType 또는 중첩된 정보일 수 있다.유형 - 둘 이상의 ScalarTypes 및/또는 중첩된 집합유형. 모든 WinFS 유형은 로 제공됨.NET CLR 클래스.[29]
연락처, 이미지, 비디오, 문서 등 데이터 단위로 표시되는 모든 객체는 Item type의 전문화로서 WinFS 스토어에 저장할 수 있다.[29]기본적으로 WinFS는 파일, 연락처, 문서, 사진, 오디오, 비디오, 달력 및 메시지에 대한 항목 유형을 제공한다.파일 항목은 파일 시스템에 파일로 저장되는 모든 일반 데이터를 저장할 수 있다.그러나 파일에 대한 고급 스키마가 제공되지 않는 한, WinFS는 파일을 전문화된 항목으로 정의하여 데이터에 액세스할 수 없다.이러한 파일 항목은 다른 항목과 관련된 것만 지원할 수 있다.[6]
개발자는 이러한 유형 또는 기본 유형 항목을 확장하여 사용자 정의 데이터에 대한 유형을 제공할 수 있다.항목에 포함된 데이터는 속성 또는 실제 데이터를 포함하는 필드로 정의된다.예를 들어, Item Contact는 ScalarType 필드 Name과 하나의 필드 Address, 중첩 필드를 가질 수 있다.Type(유형), 두 개의 ScalarTypes로 추가 구성된다.이 유형을 정의하기 위해 기본 클래스 Item을 확장하고 필요한 필드를 클래스에 추가한다.[6]중첩유형 필드는 두 개의 ScalarType 필드를 포함하는 다른 클래스로 정의할 수 있다.유형이 정의되면 스키마를 정의해야 하는데, 이는 각 필드의 원시 유형을 나타내는 것으로, 예를 들어 이름 필드는 문자열, 주소 필드는 사용자 정의 정의 주소 클래스, 두 필드는 모두 문자열이다.WinFS가 지원하는 다른 원시 유형으로는 정수, 바이트, 십진수, 플로트, 더블, 부울, 날짜 시간 등이 있다.[6]스키마는 또한 어떤 필드가 필수적이고 어떤 필드가 선택적인지 정의할 것이다.[30]이러한 방식으로 정의된 연락처 항목은 속성 필드를 채우고 저장하여 연락처에 대한 정보를 저장하는 데 사용된다.의무사항으로 표시된 필드만 초기 저장 시 작성하면 된다.[29]다른 필드는 나중에 사용자가 입력하거나 아예 입력하지 않을 수 있다.마지막 대화 날짜와 같은 속성 필드를 더 추가해야 할 경우 이 유형을 확장하여 해당 필드를 수용할 수 있다.다른 데이터의 항목 유형도 유사하게 정의될 수 있다.
WinFS는 정의된 모든 항목에 대한 테이블을 생성한다.[30]Item에 대해 정의된 모든 필드는 테이블의 열을 형성하며 Item의 모든 인스턴스는 각 Item의 테이블에 행으로 저장된다.표의 일부 필드가 다른 표의 데이터를 참조할 때마다 관계로 간주된다.관계의 스키마는 어떤 테이블이 관여하고 어떤 종류와 이름이 관계되어 있는지 명시한다.WinFS 런타임은 관계 스키마를 관리한다.[29]모든 항목이 로 노출됨.필드에 저장된 데이터에 대한 액세스를 제공하는 균일한 인터페이스를 가진 NET CLR 개체.따라서 어떤 애플리케이션도 어떤 항목 유형의 개체를 검색할 수 있으며 데이터가 저장된 물리적 구조를 인식하지 않고 개체의 데이터를 사용할 수 있다.[6]
WinFS 유형은 로 노출된다.로 인스턴스화할 수 있는 NET 클래스.NET Objects.데이터는 속성을 설정하여 이러한 유형 인스턴스에 저장된다.일단 완성되면, 그들은 WinFS 상점에 고집스럽게 보관된다.WinFS 저장소는 ItemContext 클래스를 사용하여 액세스된다(자세한 내용은 데이터 검색 섹션 참조).ItemContext는 WinFS 저장소에 대한 트랜잭션 액세스를 허용한다. 즉, ItemContext 개체를 저장소에 바인딩한 이후의 모든 작업을 모두 성공하거나 롤백할 때까지 허용한다.데이터가 변경되면 디스크에 기록되지 않고 메모리 내 로그에 기록된다.연결이 닫힌 경우에만 디스크에 일괄적으로 변경 사항이 기록된다.이는 디스크 I/O 최적화에 도움이 된다.[10]C#로 작성된 다음의 코드 조각은 연락처를 만들어 WinFS 상점에 저장한다.
//기본 WinFS 저장소에 연결 사용.(ItemContext ic = ItemContext.개방하다()) { //연락처 생성 및 적절한 속성에 데이터 설정 콘택트Eaddress 접촉하다 = 새로운 콘택트Eaddress() { 이름 = 새로운 퍼스널 네임() { // 이름이 ComplexType임 표시명 = 도, 이름 = "존", 성 = "도" }, 전화 번호 = 새로운 전화 번호() { // 전화 번호가 ComplexType임 나라 = 컨트리코드.남극, 아레아코드 = 4567, 숫자 = 9876543210 }, 나이 = 111 // 나이는 SimpleType }; //사용자의 개인 폴더에 오브젝트 추가 //이것은 항목을 폴더 유사 유형과 연관시킨다. //폴더에서 항목에 액세스할 수 있으므로 //WinFS가 네이티브가 아닌 앱에 대한 히에러시. 폴더 포함 폴더 = 사용자 데이터 폴더.FindMyPersonalFolder(); 포함 폴더.OutFolderMemberRelationship.애드아이템(ic, 접촉하다); //문서를 찾아 문서와 관련시킨다.검색은 다음 항목을 만드는 것으로 시작함 //ItemSearcher 객체.각 WinFS 유형 개체에는 GetSearcher() 메서드가 포함됨 // 해당 유형의 문서를 검색하는 ItemSearcher 개체를 생성하는 항목. 사용. (아이템시어처 수색자 = 문서.겟서처(ic)) { 문서 d = 수색자.찾다(@"제목 = '특정 문서'"); d.OutAut AuthoringRelationship.애드아이템(ic, 접촉하다); } //단 하나의 문서만 찾으므로 ItemContext.FindOne() 방법 //또한 사용되어야 한다. //사진을 찾아 관련짓기 사용. (아이템시어처 수색자 = 사진.겟서처(ic)) { 사진 p = 수색자.찾다(@"오세션 = '졸업' 및 시퀀스 = '3'"); p.OutSubjectRelationship.애드아이템(ic, 접촉하다); } //저장소에 대한 지속 및 저장소에 대한 참조 닫기 ic.갱신하다(); }
관계들
기준점은 하나 이상의 항목과 연관되어 일대일 관계가 발생하거나 둘 이상의 항목과 연관되어 일대다 관계가 발생할 수 있다.[6]관련 항목들은 차례로 다른 데이터 항목과도 관련이 있을 수 있으며, 이로 인해 관계 네트워크가 형성되어 다대다관계라고 한다.두 항목 간의 관계를 생성하면 해당 항목의 데이터에서 관련 개체가 저장된 다른 항목 테이블의 행을 참조하는 다른 필드가 생성된다.[29]
WinFS에서 관계는 관계의 전문화를 나타내기 위해 확장된 기본 유형 Relationship의 인스턴스다.A Relationship(관계)은 소스(Source)와 대상(Target)의 두 항목 사이의 매핑이다.소스는 발신 관계를 가지지만, 대상은 수신 관계를 얻는다.[30]WinFS는 보유 관계, 참조 관계, 임베딩 관계 등 세 가지 유형의 원시 관계를 제공한다.[6]두 데이터 유형 사이의 모든 사용자 정의 관계는 이러한 관계 유형의 인스턴스들이다.
- 관계 보유는 대상 항목의 소유권과 수명(관계가 유효한 기간을 정의함)을 지정한다.예를 들어, 폴더와 파일 간의 관계, 직원과 직원 간의 급여 기록 간의 관계는 홀딩 관계(Holding Relationship)이며,대상 항목은 둘 이상의 보류 관계에 속할 수 있다.이 경우 모든 원본 항목을 제거할 때 제거해야 한다.
- 참조 관계는 두 항목 간의 연결을 제공하지만, 두 항목과 관련된 수명은 없다. 즉, 각 항목은 다른 항목이 없어도 계속 저장된다.
- 임베딩 관계는 상위 항목과 하위 항목의 관계와 같이 관계에 의해 연결된 두 항목을 주문한다.
두 항목 간의 관계는 데이터를 생성하는 응용 프로그램에 의해 프로그래밍 방식으로 설정되거나 사용자가 WinFS Item Browser를 사용하여 항목을 수동으로 연관시킬 수 있다.[30]또한 WinFS 항목 브라우저는 사용자가 데이터가 어떻게 구성되는지 알 수 있도록 항목과 항목이 어떻게 관련되어 있는지 그래픽으로 표시할 수 있다.[29]
규칙.
WinFS는 규칙을 포함하며,[22] 특정 조건이 충족될 때 실행된다.WinFS 규칙은 데이터 및 데이터 관계에 대해 작동한다.예를 들어, "이름" 필드가 포함된 항목이 작성될 때마다 해당 필드의 값이 특정 이름일 경우 항목을 다른 항목과 연관시키는 관계가 생성되어야 한다는 규칙을 만들 수 있다.WinFS 규칙은 또한 외부 애플리케이션에 액세스할 수 있다.예를 들어, 특정 연락처로부터 메일을 수신할 때마다 통지 응용프로그램을 시작하는 규칙을 만들 수 있다.[22]또한 WinFS 규칙을 사용하여 기존 데이터 항목에 새 속성 필드를 추가할 수 있다.[22]
WinFS 규칙은 로도 노출된다.NET CLR 개체.이와 같이 어떤 규칙도 어떤 목적으로도 사용될 수 있다.규칙은 그것으로부터 물려받아 연장되어 부모 규칙의 조건과 작용 + 그 이상의 것으로 구성된 새로운 규칙을 형성할 수도 있다.[22]
RAV
WinFS는 서로 다른 데이터를 가상 테이블 형식으로 집계하여 RAV(Rich Application View)를 만들 수 있도록 지원한다.각 개별 요소가 스칼라 값만 될 수 있는 데이터베이스 보기와 달리, RAV는 복잡한 항목 또는 항목의 모음도 가질 수 있다.실제 데이터는 여러 데이터 유형 또는 인스턴스에 걸쳐 있을 수 있으며, 심지어 관계를 통과하여 검색할 수도 있다.[10]RAV는 WinFS 런타임에 의해 본질적으로 페이징된다(전체 데이터 세트를 데이터의 연결이 끊어진 하위 세트를 포함하는 더 작은 페이지로 분리).페이지 크기는 보기를 작성하는 동안 정의되며 WinFS API는 페이지에 반복하는 방법을 노출한다.또한 RAV는 다른 그룹화 파라미터에 따라 뷰의 수정을 지원한다.견해는 또한 반대될 수 있다.
접근 제어
모든 데이터가 공유되더라도 모든 것이 동등하게 접근할 수 있는 것은 아니다.WinFS는 윈도우즈 인증 시스템을 사용하여 두 가지 데이터 보호 메커니즘을 제공한다.[29]첫째, WinFS 공유에 대한 액세스를 제어하는 공유 레벨 보안이 있다.둘째, NT 호환 보안 설명자를 지원하는 아이템 레벨 보안이 있다.항목에 액세스하는 프로세스는 항목에 액세스할 수 있는 충분한 권한을 가지고 있어야 한다.또한 비스타에는 응용 프로그램에 대한 "통합 수준"이라는 개념이 있다.낮은 무결성 프로세스로는 높은 무결성 데이터에 접근할 수 없다.
데이터 검색
WinFS 스토어에서 데이터를 검색하는 1차 모드는 일부 기준에 따라 WinFS 스토어를 쿼리하고 있으며,[8] 이 모드는 기준과 일치하는 항목 집합을 열거하여 반환한다.쿼리의 기준은 OPath 쿼리 언어를 사용하여 지정된다.반환된 데이터는 를 준수하여 형식 스키마의 인스턴스로 사용할 수 있도록 한다.NET 객체 모델.[31]그 안에 있는 데이터는 개별 객체의 속성에 접근하여 접근할 수 있다.[30]
관계도 재산으로 노출된다.각 WinFS 항목에는 항목이 참여하는 관계 인스턴스 집합에 대한 액세스를 제공하는 IncomeRelationships와 OutpresentRelationships라는 두 가지 속성이 있다.하나의 관계 인스턴스(instance)에 참여하는 다른 항목은 적절한 관계 인스턴스(instance)를 통해 도달할 수 있다.[10][30]
데이터가 위치보다는 설명으로 접근할 수 있다는 사실은 파일 시스템에서 사용되는 계층적 조직으로 제한하지 않고 최종 사용자 조직 능력을 제공하는 데 사용될 수 있다.파일 시스템에서 각 파일 또는 폴더는 하나의 폴더에만 포함된다.그러나 WinFS Items는 다른 어떤 항목과도 많은 관계를 유지하는데 참여할 수 있다.이와 같이 최종 사용자는 파일/폴더 조직에만 국한되지 않는다.오히려 연락처가 문서의 컨테이너가 될 수 있고, 연락처를 위한 컨테이너 등이 될 수 있다.레거시 호환성을 위해 WinFS는 폴더라는 사이비 유형을 포함하는데, 이는 관계를 유지하고 파일/폴더 조직을 에뮬레이트하기 위해서만 존재한다.WinFS 항목은 둘 이상의 폴더 항목과 연관될 수 있으므로 최종 사용자 관점에서 한 항목은 실제 데이터를 복제하지 않고도 여러 폴더에 상주할 수 있다.[10]응용 프로그램은 또한 다양한 필터를 표시하기 위해 관계 그래프를 분석할 수 있다.예를 들어, 이메일 애플리케이션은 관련 연락처와 레스토랑 청구서와의 연락 관계를 분석하고 "점심을 먹은 사람들에게 보내는 이메일"과 같은 필터를 동적으로 생성할 수 있다.
검색
WinFS API는 WinFS 저장소에 바인딩된 ItemContext 클래스라는 클래스를 제공한다.ItemContext 객체는 전체 저장소 또는 일부 저장소까지 검색 범위를 지정하는 데 사용될 수 있다.그것은 또한 상점에 대한 거래상의 접근을 제공한다.[15]그런 다음 이 클래스의 개체는 검색할 항목의 유형(유형을 나타내는 개체) 또는 검색 기준을 나타내는 관계 및 OPath 쿼리 문자열을 가져오는 ItemSearcher 개체를 생성할 수 있다.[30][32]모든 일치 항목 집합이 반환되며, 이 집합은 UI 위젯에 바인딩되어 일괄 표시하거나 개별적으로 열거할 수 있다.[29]또한 속성 항목을 수정한 다음 데이터 저장소에 다시 저장하여 데이터를 업데이트할 수 있다.쿼리가 실행되거나 변경 사항이 저장소에 병합될 때 ItemContext 개체가 닫힘(저장소와 객체의 연결 종료 표시)
관련 항목도 해당 항목을 통해 접속할 수 있다.IncomeRelationships 및 OutpresentRelationships 속성은 관계 이름에 입력된 모든 관계 인스턴스에 대한 액세스를 제공한다.이러한 관계 개체는 속성을 통해 다른 항목을 노출한다.따라서 예를 들어 그림이 그림과 관련된 경우 다음과 같이 관계를 가로지르면서 접근할 수 있다.
연락처수집 연락처 = 사진을.외향적 관계.캐스트(활자의(연락처)).가치; // 그림 개체에서 모든 나가는 관계 컬렉션을 검색함 // 그리고 그들에게서 도달할 수 있는 연락처를 필터링하여 그 값을 검색한다. // 또는 관계를 정적으로 다음과 같이 지정할 수 있다. 연락처수집 연락처 = 사진을.외향적 관계.OutContactRelationship.연락처;
OPath 쿼리 문자열은 Item 속성, 내장된 Items 및 Relationships를 사용하여 지정하기 위해 쿼리할 파라미터를 표시할 수 있다.[citation needed]'제목 = 무엇인가'와 같은 단일 검색 조건이나 '제목 = '제목 1' 제목 = '제목 2' &&l 작성자 = '누군가'와 같은 복합 조건을 지정할 수 있다.이러한 부울 및 관계 연산은 C# like &&, , =, != 연산자뿐만 아니라 EQUE와 같은 영어 유사 등가 연산자를 사용하여 지정할 수 있다. 와일드카드 조건과 마찬가지로 REK, GROKE,[citation needed] GROUP BY, ORDER BY와 같은 연산자와 같은 연산자도 지원된다.따라서 "LICK LIKE 'any*'"는 유효한 쿼리 문자열이다.이러한 연산자는 다음과 같은 복잡한 검색을 실행하는 데 사용할 수 있다.
사용. (ItemContext ic = ItemContext.개방하다()) { // 검색은 ItemSearcher 개체를 만드는 것으로 시작한다.검색기는 다음 항목에서 생성되며 // 검색 중인 연락처가 관계가 있기 때문에 관계 인스턴스.그 // 첫 번째 매개 변수는 검색 범위를 정의한다.범위 평균으로서의 ItemContext // 매장 전체를 검색해야 한다.범위는 가능한 항목 집합으로 제한될 수 있다. // 연락 담당자들과 관계를 유지하고 있다.그럴 경우 세트는 로 전달된다. // 검색 범위. 아이템시어처 수색자 = OutContactRelationship.GetTargetSearcher(ic, 활자의(연락처)); ContactCollection 연락처 = 수색자.FindAll("OutContactRelationship.연락처이름 'A*'"); }
위의 코드 조각은 사진과 연락처를 연결하는 OutContactRelationship 인스턴스를 검색하여 실제로 연락처와 관련된 모든 사진을 검색하는 ItemSearcher 개체를 만든다.그런 다음 OutContactRelationship을 통해 도달할 수 있는 모든 연락처에 'A*' 쿼리를 실행하여 "이 이름이 A로 시작하고 사진이 있는 콘택트" 목록을 반환한다.마찬가지로, 결과를 더욱 좁히기 위해 더 많은 관계를 고려할 수 있다.[10][30]또한 자연어로 쿼리를 파싱하고 적절한 관계를 통해 검색할 수 있는 OPath 쿼리 문자열을 만드는 자연어 쿼리 프로세서는 재무 관리 애플리케이션이 청구서 저장에 WinFS를 사용한다면 사용자가 "지난달 Person X와 함께 먹었던 와인의 이름 찾기"와 같은 검색을 할 수 있다.
다른 관계는 다른 데이터 집합을 지정한다.그래서 여러 관계를 포괄하는 검색이 이루어질 때, 서로 다른 데이터 집합이 개별적으로 검색되고 서로 다른 집합의 결합이 계산된다.결과 집합은 모든 관계에 해당하는 데이터 항목만 포함한다.[30]
알림
WinFS는 자주 변경되는 데이터를 보다 효과적으로 처리할 수 있도록 지원한다.응용프로그램은 WinFS 알림을 사용하여 선택한 데이터 항목에 대한 변경 사항을 통지받도록 선택한다.WinFS는 를 사용하여 ItemChangedEvent를 발생시킬 것이다.NET Event 모델,[30] 구독 항목이 변경되고 이벤트가 애플리케이션에 게시될 때
정보 에이전트
WinFS에는 최종 사용자 알림 규칙의 관리, 검색 및 저장을 위한 Information Agent 기능과 데이터 저장소 항목의 변경에 대한 기본 설정이 포함되어 있다.Information Agent를 사용하면 약속과 같은 이벤트를 기준으로 새로운 항목과의 관계를 자동으로 정의할 수 있으며, 예를 들어, 약속이 사진을 찍은 날짜를 기준으로 사진과 관련될 수 있으므로, 이러한 이벤트의 실제 날짜를 알 필요 없이 생일이나 공휴일에 대한 쿼리가 가능하다("모든 사진 찾기").이번 생일에 찍은 것").다른 예로는 약속 시간과 사진을 찍은 날짜("비즈니스 이벤트 중에 찍은 사진을 가져올 때 비즈니스 이벤트 폴더로 이동")에 따라 규칙에 따라 새로운 항목을 특정 폴더로 자동 이동하거나 더 복잡한 가능성을 포함한다.또한 Information Agent는 다른 장치에 알림을 전달할 수 있으며("상사로부터 우선 순위가 높은 이메일을 수신한 경우 내 전화기에 알림 보내기") Microsoft Outlook의 규칙 및 알림 기능과 유사하다.
데이터 공유
WinFS는 애플리케이션 간에, 그리고 서로 다른 컴퓨터에 있을 수 있는 여러 WinFS 스토어 간에 복사하여 데이터를 쉽게 공유할 수 있도록 한다.[33]WinFS 항목도 비 WinFS 파일 시스템에 복사할 수 있지만, 데이터 항목을 WinFS 저장소에 다시 넣지 않으면 WinFS에서 제공하는 고급 서비스를 지원하지 않는다.
또한 WinFS API는 비 WinFS 애플리케이션과의 공유를 위한 일부 지원도 제공한다.WinFS는 WinFS 스토어에 액세스하기 위해 쉘 객체를 노출한다.이 개체는 WinFS 항목을 가상 폴더 계층에 매핑하며, 모든 응용 프로그램에서 액세스할 수 있다.[12]가상 폴더는 쿼리에 의해 참조된 새로운 콘텐츠를 사용자와 자동으로 공유할 수 있다("모든 휴가 사진"을 위한 가상 폴더는 이 쿼리에서 반환된 새로운 항목을 사용자와 자동으로 공유할 수 있다).또한 WinFS 데이터는 레거시 쉘 객체를 공유함으로써 네트워크 공유를 사용하여 수동으로 공유될 수 있다.[33]비 WinFS 파일 형식은 WinFS에서 제공하는 파일 항목을 사용하여 WinFS 저장소에 저장할 수 있다.특정 파일 형식을 WinFS 항목 유형으로 변환하기 위해 수입업체를 작성할 수 있다.[33]
또한 WinFS는 "사진만 공유" 또는 "연관된 X가 있는 사진 공유"와 같은 일부 사전 정의된 조건에 따라 2개 이상의 WinFS 스토어에 있는 항목을 자동으로 동기화하는 서비스를 제공한다.[33]그 가게들은 다른 컴퓨터에 있을 수도 있다.동기화는 피어투피어 방식으로 이루어진다. 중앙 권한은 없다.동기화는 수동 또는 자동 또는 예약일 수 있다.동기화 중에 WinFS는 새 항목과 수정된 항목을 찾아 그에 따라 업데이트한다.둘 이상의 변경사항이 충돌할 경우 WinFS는 미리 정의된 규칙에 기반한 자동 해상도에 의존하거나 수동 해상도를 위해 동기화를 연기할 수 있다.필요한 경우 WinFS도 스키마를 업데이트한다.[33]
애플리케이션 지원
셸 네임스페이스
WinFS 베타 1에는 셸 네임스페이스 확장 기능이 포함되어 있으며, 이 확장자는 내 컴퓨터 보기에서 WinFS 저장소를 최상위 수준의 개체로 표면화한다.[12]파일을 저장소에 복사하거나 저장하기 위해 응용프로그램을 직접 사용할 수 있다.내 문서와 같은 폴더도 상점으로 리디렉션할 수 있다.[12]WinFS는 임포터 플러그인을 사용하여 저장소로 가져올 때 파일을 분석하고 적절한 WinFS 스키마와 객체를 생성하고, 객체를 꺼낼 때 파일을 파일로 다시 포장한다.[33]특정 파일의 가져오기 기능이 설치되지 않은 경우 일반 파일 형식으로 저장된다.
마이크로소프트 레이브
마이크로소프트 레이브는 WinFS 베타 1과 함께 출하된 애플리케이션이다.2개 이상의 WinFS 저장소를 동기화할 수 있으며, 중앙 허브 토폴로지는 물론 전체 메시 모드에서의 동기화를 지원한다.Microsoft Rave는 동기화하는 동안 마지막 동기화 이후 각 저장소의 변경 사항을 확인하고 그에 따라 업데이트한다.변경사항을 적용할 때, 충돌 여부도 감지한다. 즉, 마지막 동기화 이후 두 스토어에서 동일한 데이터가 변경되었다.나중에 해결하기 위해 충돌하는 데이터를 기록하거나 즉시 해결한다.마이크로소프트 레이브는 피어투피어 기술을 사용하여 데이터를 교환하고 전송한다.
스토어스파이
마이크로소프트는 WinFS 베타 1과 함께 StoreSpy라는 지원되지 않는 애플리케이션을 포함시켰는데,[34] 이를 통해 WinFS Items의 계층적 뷰를 제시함으로써 WinFS 스토어를 탐색할 수 있었다.액세스 권한, 날짜 및 기타 메타데이터를 기반으로 가상 폴더를 자동으로 생성해 기존 폴더와 유사한 계층적 트리 보기로 표시했다.응용 프로그램에서 다른 항목 유형에 대해 탭을 생성함.StoreSpy는 전체 메타데이터와 함께 스토어의 항목, 관계, MultiSet, 중첩 요소, 확장[35] 및 기타 유형 보기를 허용했다.수동 검색을 수행하고 가상 폴더로 저장할 수 있는 검색 인터페이스도 제시했다.이 애플리케이션은 또한 WinFS 규칙에 대한 그래픽 뷰를 제시하였다.그러나 향후 릴리스에 포함될 예정이었지만 Items 또는 해당 속성의 편집은 허용하지 않았다.[36]그러나 윈FS 프로젝트는 실현되기 전에 축소되었다.
유형 브라우저
WinFS에는 WinFS 유형 간 계층적 관계를 시각화하는 데 사용할 수 있는 WinFS 유형 브라우저라는 다른 애플리케이션도 포함되어 있다.[37]사용자 정의 스키마뿐만 아니라 내장형인 WinFS 유형은 지원되는 모든 속성 및 방법과 함께 시각화할 수 있다.또한 형식 스키마를 확장하는 다른 형식뿐만 아니라 그것이 파생되는 형식도 보여준다.그러나 WinFS에 포함되었지만 지원되지 않는 툴로 출시되었다.[37]
오패터
WinFS 베타 1은 OPather라는 지원되지 않는 애플리케이션도 포함한다.[38]Opath 쿼리를 작성하기 위한 그래픽 인터페이스를 제공한다.대상 개체 유형을 선택하고 쿼리의 매개 변수를 지정하여 사용할 수 있다.또한 인텔리센스 같은 파라미터 완성 기능도 포함하고 있다.그런 다음, 질의 결과를 DataGrid 제어에 바인딩하거나 WinFS 자체에서 데이터 보기를 생성하거나 쿼리 문자열을 추출하는 데 사용할 수 있다.
프로젝트 "오렌지"
마이크로소프트는 WinFS용 데이터 시각화 애플리케이션을 구축하는 프로젝트를 시작했다.그것은 "프로젝트 오렌지"라고 부르게 되었고, 아마도 윈도우 프리젠테이션 재단을 사용하여 지어졌을 것이다.[39]WinFS 매장에 저장되어 있는 아이템에 대한 탐색을 제공하도록 되어 있었고, 데이터 관계는 내비게이션 모델에서 두드러진 부분이 되어야 했다.그것은 사람들이 윈FS 상점의 조직도 그래픽으로 허용하도록 하기 위한 것으로서 IWish Concept Video WMV File에 제시된 많은 개념들을 생산한다.그러나 WinFS 프로젝트가 어두워졌기 때문에, 이 프로젝트의 상황은 알려지지 않았다.
참고 항목
- 데스크톱 관리자
- GNOME 스토리지 – GNOME 데스크톱을 위한 스토리지 관리 시스템
- 네포무크케이드
- ReFS
- RDBMS(Relational Database Management System)
참조
- ^ "Leaked Windows hints at changes to come". ZDNet. CBS Interactive. September 30, 2007. Archived from the original on September 30, 2007.
- ^ Schofield, Jack (June 29, 2006). "Why WinFS had to vanish". The Guardian. Guardian News and Media. Retrieved December 9, 2010.
- ^ "IWish Concept Video". Microsoft. Archived from the original on 2006-06-02. Retrieved 2008-07-14.
- ^ a b Quentin Clark (June 23, 2006). "WinFS Update". What's in Store. MSDN Blogs. Retrieved 2006-06-23.
- ^ a b c Quentin Clark. "Where is WinFS now?". Archived from the original on 2008-05-17. Retrieved 2008-05-17.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x Shawn Wildermuth. "A Developer's Perspective on WinFS: Part 1". MSDN. Retrieved 2007-06-30.
- ^ a b c d Vijay Bangaru. "Unify, Organize, Explore, and Innovate. Oh my! (Part 2)". WinFS Team Blog. Archived from the original on 2007-06-09. Retrieved 2007-06-30.
- ^ a b c d e f g h i j k Sean Grimaldi. "The WinFS Files: Divide et Impera". MSDN. Retrieved 2007-06-30.
- ^ a b Thomas Rizzo. "WinFS 101: Introducing the New Windows File System". MSDN. Retrieved 2007-06-30.
- ^ a b c d e f g h i j k "WinFS on The .NET Show". Microsoft. Retrieved 2007-07-04.[영구적 데드링크]
- ^ Vijay Bangaru. "Unify, Organize, Explore, and Innovate. Oh my! (Part 1)". WinFS Team Blog. Archived from the original on 2007-07-08. Retrieved 2007-06-30.
- ^ a b c d e f g h i j k l m n o p q Paul Thurrott. "Windows Storage Foundation (WinFS) Preview". Archived from the original on 2007-07-02. Retrieved 2007-06-30.
- ^ a b "My tryst with Destiny, err… Integrated Storage". Archived from the original on 2007-10-31. Retrieved 2007-06-30.
- ^ Cath Everett. "Will Longhorn be worth the pain?". ZDNet. Retrieved 2007-06-30.
- ^ a b "WinFS for Developers". NTFS.com. Retrieved 2007-07-04.
- ^ Vijay Bangaru. "WinFS Beta 1 Refresh now available". WinFS Team Blog. Archived from the original on 2007-05-20. Retrieved 2007-06-30.
- ^ Shan Sinha. "Showing off the next release of WinFS at Tech Ed 2006, in Boston! Join us!". WinFS Team Blog. Archived from the original on 2007-03-08. Retrieved 2007-06-30.
- ^ Sanjay Anand. "My tryst with Destiny, err… Integrated Storage". WinFS Team Blog. Archived from the original on 2007-10-31. Retrieved 2007-06-30.
- ^ Quentin Clark. "Update to the Update". WinFS Team Blog. Archived from the original on 2007-07-03. Retrieved 2007-06-30.
- ^ "WinFS: The Windows File System (Microsoft Access 2002 Technical Articles)". MSDN. Microsoft. October 2003. Archived from the original on 2003-12-21. Retrieved February 1, 2018.
- ^ "Windows Vista Product Guide". Microsoft. 2006. pp. 44–51. Archived from the original (DOCX) on July 1, 2011. Retrieved March 1, 2018.
- ^ a b c d e Kati Dimitrova. "About WinFS Rules". MSDN. Microsoft. Archived from the original on 2008-12-26. Retrieved March 2, 2018.
- ^ Bentz, Ben (October 31, 2006). "Query Composition: Building a search upon another search". Shell: Revealed Blog. Microsoft. Archived from the original on December 15, 2006. Retrieved March 2, 2018.
- ^ "빌 게이츠 억만장자의 남작 빌 게이츠는 여전히 비스타의 사산한 윈FS를 애도한다."
- ^ Nate Mook (29 August 2005). "MS Explains WinFS, Releases Beta 1". BetaNews. Retrieved 2007-07-02.
- ^ a b Shishir Mehrotra (September 2005). ""WinFS" Future Directions: An Overview". Professional Developers Conference 2005 presentations. Microsoft. Archived from the original on January 6, 2006. Retrieved 2006-05-22.(현재 오프라인, 미러).
- ^ Erwyn van der Meer. "First Look on WinFS Beta 1". Archived from the original on 2007-06-09. Retrieved 2007-07-03.
- ^ Vijay Bangaru. "WinFS Mailbox". WinFS Team Blog. Archived from the original on 2007-05-22. Retrieved 2007-06-30.
- ^ a b c d e f g h i j k l Richard Grimes. "Revolutionary File Storage System Lets Users Search and Manage Files Based on Content". MSDN Magazine. Archived from the original on 2007-06-27. Retrieved 2007-06-30.
- ^ a b c d e f g h i j Shawn Wildermuth (July 2004). "A Developer's Perspective on WinFS: Part 2". MSDN. Microsoft. Retrieved 2007-06-30.
- ^ Vijay Bangaru. "Unify, Organize, Explore, and Innovate. Oh my! (Part 4)". WinFS Team Blog. Archived from the original on 2007-06-18. Retrieved 2007-06-30.
- ^ Thomas Rizzo, Sean Grimaldi (October 18, 2004). "An Introduction to "WinFS" OPath". MSDN. Microsoft. Retrieved 2007-06-30.
- ^ a b c d e f Neil Padgett. "Getting Data Into WinFS with WinFS Synchronization". WinFS Team Blog. Archived from the original on 2007-02-17. Retrieved 2007-06-30.
- ^ Wei-Meng Lee (2005-09-07). "WinFS -StoreSpy". Retrieved 2007-06-30.
- ^ "Stefano Demiliani WeBlog:WinFS StoreSpy v0.8 for the WinHEC 2004 Longhorn Build". Retrieved 2007-03-12.
- ^ "StoreSpy should become StoreEditor". Archived from the original on 2007-09-29. Retrieved 2007-06-30.
- ^ a b Sanjay Nagamangalam. "Visualizing WinFS Types". WinFS Team Blog. Archived from the original on 2007-08-16. Retrieved 2007-07-03.
- ^ Luiz Miranda. "Using OPather To Help Write Queries". WinFS Team Blog. Archived from the original on 2007-11-19. Retrieved 2007-06-30.
- ^ Shishir Mehrotra. "The killer app for getting users organized". WinFS Team Blog. Archived from the original on 2007-03-09. Retrieved 2007-06-30.