>웹 프론트엔드 >JS 튜토리얼 >성능 최적화: 피벗 테이블에 가장 적합한 데이터 소스 선택

성능 최적화: 피벗 테이블에 가장 적합한 데이터 소스 선택

WBOY
WBOY원래의
2024-09-04 14:31:32965검색

Optimize Performance: Choose the Best Data Source for Pivot Table

TL;DR: Syncfusion Pivot Table은 여러 데이터 소스에 연결되므로 데이터 분석을 위한 다목적 도구로 활용할 수 있습니다. 올바른 데이터 소스를 선택하는 것은 성능에 매우 중요합니다. 이 가이드에서는 다양한 옵션을 살펴보고 가장 적합한 옵션을 선택하는 데 필요한 팁을 제공합니다.

Syncfusion Pivot Table은 데이터 분석 및 시각화를 위한 강력한 도구입니다. 뛰어난 기능 중 하나는 다양한 데이터 소스에 연결하는 기능으로, 기업과 개발자가 다양한 선택을 할 수 있도록 해줍니다. 최적의 성능과 유용성을 보장하려면 피벗 테이블에 적합한 데이터 소스를 선택하는 것이 중요합니다.

Syncfusion Pivot Table에 연결할 수 있는 다양한 데이터 소스와 그 이점, 그리고 요구 사항에 가장 적합한 데이터 소스를 선택하는 방법을 살펴보겠습니다.

동기화 피벗 테이블 이해

데이터 소스를 살펴보기 전에 동기화 피벗 테이블이 무엇인지, 어떻게 작동하는지 이해하는 것이 중요합니다. Syncfusion Pivot Table은 ASP.NET MVC, ASP.NET Core, TypeScript, JavaScript, Angular, React, Vue 및 Blazor 플랫폼용 구성 요소입니다. 이를 통해 데이터 분석을 위한 대화형 테이블을 생성하고 데이터 필터링, 정렬, 그룹화, 집계와 같은 기능을 제공할 수 있습니다.

피벗 테이블의 데이터 원본을 선택할 때 고려해야 할 요소

피벗 테이블의 데이터 소스를 선택할 때 고려해야 할 몇 가지 중요한 요소를 살펴보겠습니다.

데이터 볼륨 및 복잡성

데이터 크기가 성능에 영향을 미칠 수 있습니다. 대규모 데이터세트에는 더욱 강력한 데이터베이스나 최적화된 스토리지 솔루션이 필요할 수 있습니다. 예를 들어 중소 규모 데이터세트에는 JSON 또는 CSV 파일이면 충분할 수 있습니다. 더 큰 데이터세트의 경우 관계형 및 NoSQL 데이터베이스 또는 OLAP 시스템 사용을 고려하세요. OLAP 시스템은 복잡한 데이터 분석과 다차원 데이터에 필요한 기능을 제공합니다. 보다 간단한 분석을 위해서는 JSON 또는 CSV 파일이 실용적일 수 있습니다.

성능 요구 사항

앱의 성능 요구사항을 고려하세요. 데이터베이스는 일반적으로 파일 기반 데이터 소스에 비해 대규모 데이터 작업에 더 나은 성능을 제공합니다. 그러나 빠르고 간단한 분석에는 JSON 및 CSV 파일이면 충분할 수 있습니다.

통합 용이성

데이터 소스를 Syncfusion Pivot Table과 얼마나 쉽게 통합할 수 있는지 평가해 보세요. 관계형 데이터베이스와 JSON/XML 파일은 일반적으로 통합 방법이 잘 확립되어 있지만 일부 NoSQL 데이터베이스와 RESTful API에는 추가 구성이 필요할 수 있습니다.

실시간 데이터 액세스

앱에 실시간 데이터 액세스가 필요한 경우 실시간 기능이 있는 RESTful API 또는 데이터베이스를 사용하세요. Excel 및 CSV와 같은 파일 기반 데이터 소스는 정적이므로 수동 업데이트가 필요합니다.

보안 및 규정 준수

선택한 데이터 소스가 조직의 보안 및 개인 정보 보호 요구 사항을 준수하는지 확인하세요. 데이터베이스는 종종 강력한 보안 기능을 제공하는 반면, 파일 기반 데이터 소스는 중요한 정보를 보호하기 위해 추가 조치가 필요할 수 있습니다.

피벗 테이블용 데이터 원본 선택 모범 사례

피벗 테이블의 데이터 소스를 선택하는 몇 가지 모범 사례를 살펴보겠습니다.

사용 사례 평가

앱의 특정 요구 사항을 이해하고 해당 요구 사항에 맞는 데이터 소스를 선택하세요. 데이터 유형, 필요한 작업 및 사용자 기대치를 고려하십시오. 고가용성과 확장성이 필요한 웹 앱에는 NoSQL 데이터베이스를 고려해보세요. SQL Server와 같은 관계형 데이터베이스는 구조화된 데이터를 사용하는 기존 비즈니스 앱에 적합합니다.

성능 및 확장성 테스트

성능 테스트를 실시하여 선택한 데이터 소스가 예상 로드를 처리할 수 있는지 확인하세요. 또한 향후 확장성 요구 사항을 고려하고 앱과 함께 성장할 수 있는 솔루션을 선택하세요.

데이터 품질 보장

정확한 분석을 위해서는 데이터 품질이 무엇보다 중요합니다. 검증 및 오류 검사를 포함하여 높은 데이터 품질 표준을 유지할 수 있는 데이터 소스를 선택하세요.

데이터 통합 ​​계획

Syncfusion Pivot Table과 데이터 소스를 통합하기 위한 명확한 계획을 개발하세요. 통합 프로세스를 간소화하려면 미들웨어 또는 ETL(추출, 변환, 로드) 도구를 사용하는 것이 좋습니다. JSON 및 CSV 데이터는 빠른 설정과 사용 편의성을 위해 편리합니다. 관계형 데이터베이스와 OLAP 시스템은 더 많은 설정과 유지 관리가 필요하지만 더 뛰어난 기능을 제공합니다.

Syncfusion Pivot Table은 다양한 데이터 소스에서 어떻게 작동하나요?

유연하고 강력한 데이터 바인딩 기능을 통해 Syncfusion Pivot Table은 다양한 데이터 소스와 작업할 수 있습니다. 다음을 포함한 여러 데이터 소스를 지원합니다.

  • JSON 데이터: 중소 규모의 데이터세트에 이상적인 JSON은 가볍고 작업하기 쉽습니다.
  • OLAP(온라인 분석 처리): 대규모 데이터 세트 및 복잡한 데이터 분석에 적합합니다.
  • 관계형 데이터베이스: MySQL, SQL Server, PostgreSQL과 같은 SQL 데이터베이스는 강력한 데이터 저장 및 쿼리 기능을 제공합니다.
  • NoSQL 데이터베이스: MongoDB와 같은 NoSQL 데이터베이스는 비정형 데이터에 대한 유연한 스키마 설계를 제공합니다.
  • 웹 서비스: RESTful API 및 OData 서비스와 같은 웹 서비스는 실시간 데이터 통합 ​​및 동적 업데이트에 유용합니다.
  • CSV 파일: 소규모 데이터세트에 적합하고 빠른 설정이 가능합니다.

JSON 데이터

JSON(JavaScript Object Notation)은 가벼운 데이터 교환 형식입니다. Syncfusion Pivot Table은 JSON 데이터를 쉽게 사용할 수 있으며, 이는 API에서 JSON 형식으로 데이터를 가져오는 경우가 많은 웹 앱에 특히 유용합니다.

장점

  • 사용 용이성: JSON은 읽기, 쓰기, 구문 분석이 쉬우므로 웹 앱에서 널리 사용됩니다.
  • 유연성: JSON은 중첩 개체 및 배열을 포함한 다양한 데이터 구조를 처리할 수 있습니다.

  • 경량: JSON은 컴팩트하여 네트워크를 통해 전송되는 데이터를 줄입니다.

고려사항

  • 성능: JSON에서 대규모 데이터 세트를 처리하는 것은 비효율적이고 느릴 수 있습니다.

  • 제한된 확장성: JSON은 크거나 복잡한 데이터 세트에는 적합하지 않습니다.

언제 사용하나요?

  • 중소규모 데이터 세트
  • 사용 편의성과 빠른 설정이 우선인 앱

  • 프로토타입 제작 및 테스트.

다음은 JSON 데이터를 피벗 테이블과 통합하기 위한 코드 예제입니다.

로컬을 통해 JSON 데이터 바인딩

var localData = [
    { Product: 'Bike', Country: 'USA', Sales: 100 },
    { Product: 'Car', Country: 'Canada', Sales: 200 }
];

var pivotTableObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
        dataSource: localData,
        rows: [{ name: 'Product' }],
        columns: [{ name: 'Country' }],
        values: [{ name: 'Sales' }],
        filters: []
    }
});
pivotTableObj.appendTo('#PivotTable');

원격(외부) 링크를 통해 JSON 데이터 바인딩

var pivotGridObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
        url: 'https://cdn.syncfusion.com/data/sales-analysis.json',
        expandAll: false,
        rows: [
            { name: 'EnerType', caption: 'Energy Type' }
        ],
        columns: [
            { name: 'EneSource', caption: 'Energy Source' }
        ],
        values: [
            { name: 'PowUnits', caption: 'Units (GWh)' },
            { name: 'ProCost', caption: 'Cost (MM)' }
        ],
        filters: []
    }
});
pivotGridObj.appendTo('#PivotTable');

CSV 파일

쉼표로 구분된 값(CSV) 파일은 데이터를 내보내고 가져오기 위한 표준 형식입니다. Syncfusion Pivot Table은 CSV 파일을 구문 분석하여 데이터 소스로 사용할 수 있어 스프레드시트나 기타 테이블 형식 데이터 소스의 데이터를 편리하게 분석할 수 있습니다.

장점

  • 단순성: 만들고, 읽고, 조작하기 쉽습니다.
  • 이식성: CSV 파일은 광범위하게 지원되며 쉽게 공유할 수 있습니다.
  • 빠른 설정: 빠른 설정과 소규모 데이터세트에 적합합니다.

고려사항

  • 성능: 대규모 데이터세트나 복잡한 쿼리에는 적합하지 않습니다.
  • 제한된 기능: 고급 기능과 데이터 유형이 부족합니다.

언제 사용하나요?

  • 빠른 분석이나 프로토타이핑을 위한 소규모 데이터 세트
  • 데이터 마이그레이션 또는 가져오기/내보내기 시나리오.
  • 데이터 조작이 최소화된 간단한 앱

다음은 CSV 데이터를 피벗 테이블과 통합하는 코드 예제입니다.

로컬을 통해 CSV 데이터 바인딩

var csvdata =
  'Region,Country,Item Type,Sales Channel,Total Revenue,Total Cost,Total Profit\r\nMiddle East and North Africa,Libya,Cosmetics,Offline,3692591.20,2224085.18,1468506.02\r\nNorth America,Canada,Vegetables,Online,464953.08,274426.74,190526.34\r\nMiddle East and North Africa,Libya,Baby Food,Offline,387259.76,241840.14,145419.62\r\nAsia,Japan,Cereal,Offline,683335.40,389039.42,294295.98';
var pivotObj = new ej.pivotview.PivotView({
  dataSourceSettings: {
    dataSource: getCSVData(),
    type: 'CSV',
    expandAll: false,
    formatSettings: [
      { name: 'Total Cost', format: 'C0' },
      { name: 'Total Revenue', format: 'C0' },
      { name: 'Total Profit', format: 'C0' },
    ],
    drilledMembers: [{ name: 'Item Type', items: ['Baby Food'] }],
    rows: [{ name: 'Country' }, { name: 'Region' }],
    columns: [{ name: 'Sales Channel' }, { name: 'Item Type' }],
    values: [
      { name: 'Total Profit' },
      { name: 'Total Cost' },
      { name: 'Total Revenue' },
    ],
    filters: [],
  },
  height: 290,
  width: '100%',
});
pivotObj.appendTo('#PivotTable');
function getCSVData() {
  var dataSource = [];
  var jsonObject = csvdata.split(/\r?\n|\r/);
  for (var i = 0; i < jsonObject.length; i++) {
    dataSource.push(jsonObject[i].split(','));
  }
  return dataSource;
}

원격(외부) 링크를 통해 CSV 데이터 바인딩

var pivotObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
        url: 'https://bi.syncfusion.com/productservice/api/sales',
        type: 'CSV',
        expandAll: false,
        enableSorting: true,
        formatSettings: [{ name: 'Total Cost', format: 'C0' }, { name: 'Total Revenue', format: 'C0' }, { name: 'Total Profit', format: 'C0' }],
        drilledMembers: [{ name: 'Item Type', items: ['Baby Food'] }],
        rows: [
            { name: 'Region' },
            { name: 'Country' }
        ],
        columns: [
            { name: 'Item Type' },
            { name: 'Sales Channel' }
        ],
        values: [
            { name: 'Total Cost' },
            { name: 'Total Revenue' },
            { name: 'Total Profit' }
        ],
        filters: []
    },
    height: 300,
    width: '100%'
});
pivotObj.appendTo('#PivotTable');

OLAP(온라인 분석 처리) 데이터

OLAP 큐브는 복잡한 데이터 분석을 허용하며 일반적으로 비즈니스 인텔리전스 앱에 사용됩니다. Syncfusion Pivot Table은 OLAP 데이터 소스를 지원하여 풍부하고 계층적인 데이터 구조로 다차원 데이터 분석을 가능하게 합니다. OLAP 데이터 소스는 사전 집계된 데이터로 인해 더 빠른 쿼리 응답을 제공하는 경우가 많습니다.

장점

  • 성능: OLAP은 대규모 데이터세트에서도 빠른 쿼리와 데이터 분석을 위해 설계되었습니다.
  • 복잡한 분석: 복잡한 계산, 집계, 다차원 데이터 분석을 지원합니다.
  • 확장성: OLAP 시스템은 대용량 데이터 세트를 쉽게 처리할 수 있습니다.

고려사항

  • 복잡성: OLAP 시스템 설정 및 유지 관리는 복잡할 수 있으며 전문 지식이 필요할 수 있습니다.
  • 비용: OLAP 솔루션은 구현 및 유지 관리 비용이 많이 들 수 있습니다.

언제 사용하나요?

  • 분석 요구 사항이 복잡한 대규모 데이터 세트
  • 비즈니스 인텔리전스 및 데이터 웨어하우징 앱
  • 고성능과 확장성이 필요한 시나리오

다음은 OLAP 데이터를 피벗 테이블과 통합하는 코드 예제입니다.

var pivotTableObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
            catalog: 'Adventure Works DW 2008 SE',
            cube: 'Adventure Works',
            providerType: 'SSAS',
            enableSorting: true,
            url: 'https://bi.syncfusion.com/olap/msmdpump.dll',
            localeIdentifier: 1033,
            rows: [{ name: '[Customer].[Customer Geography]'],
            columns: [{ name: '[Product].[Product Categories]'},
                { name: '[Measures]'}],
            values: [{ name: '[Measures].[Customer Count]'},
                { name: '[Measures].[Internet Sales Amount]']
    }
});
pivotTableObj.appendTo('#PivotTable');

Relational databases

Relational databases are one of the most common data sources for our Pivot Table. They store data in tables, making it easy to retrieve and manipulate data using SQL queries. Popular relational databases include MySQL, PostgreSQL, SQL Server, and Oracle.

Advantages

  • Structured data: Data is organized in a tabular format, ideal for Pivot Tables.
  • Scalability: Suitable for handling large volumes of data.
  • ACID compliance: Ensures data integrity and consistency.

Considerations

  • Complexity: Requires knowledge of SQL for data retrieval.
  • Performance: This may require optimization for large datasets.

When to use

  • Medium to large datasets.
  • Apps requiring robust data storage and complex queries.
  • Scenarios where data integrity and relationships are essential.

NoSQL databases

NoSQL databases such as MongoDB offer a flexible schema and are designed to handle unstructured data, making them a good choice for certain types of data analysis.

Advantages

  • Flexibility: Schema-less design allows for easy modification of data structures.
  • Scalability: Excellent for handling large-scale, distributed data.

Considerations

  • Query complexity: Can be more complex to query than relational databases.
  • Consistency: May sacrifice consistency for availability and partition tolerance (CAP theorem).
  • Connectivity: We may require specific connectors or APIs for integration.

Web Services or remote data

Data can be fetched from remote servers using web services or APIs. Syncfusion Pivot Table can connect to remote data sources via RESTful services, making it ideal for apps that analyze data from various endpoints. It involves retrieving data from remote servers or databases.

Advantages

  • Real-time data: Enables real-time data integration and dynamic updates.
  • Scalability: Can handle large and distributed datasets.
  • Flexibility: Easily integrate with various services and APIs.

Considerations

  • Complexity: Requires developing and maintaining RESTful APIs.
  • Latency: Network latency can impact performance.

When to use

  • Apps needing real-time data updates.
  • Integrating data from multiple sources or external APIs.
  • Scenarios requiring high flexibility and scalability.

Here’s a code example for connecting an API service to our Pivot Table.

var data = new ej.data.DataManager({
    url: 'https://bi.syncfusion.com/northwindservice/api/orders',
    adaptor: new ej.data.WebApiAdaptor(),
    crossDomain: true,
  });
  data.defaultQuery = new ej.data.Query().take(8);

  var pivotTableObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
      dataSource: data,
      expandAll: true,
      filters: [],
      columns: [{ name: 'ProductName' }],
      rows: [{ name: 'ShipCountry' }, { name: 'ShipCity' }],
      formatSettings: [{ name: 'UnitPrice', format: 'C0' }],
      values: [{ name: 'Quantity' }, { name: 'UnitPrice' }],
    },
    height: 350,
    width: '100%',
    gridSettings: { columnWidth: 120 },
  });
  pivotTableObj.appendTo('#PivotTable');

References

For more details, refer to the following references:

  • Connecting to PostgreSQL in Pivot Table
  • Connecting to Microsoft SQL Server in Pivot Table
  • Connecting to Oracle in Pivot Table
  • Connecting to Elasticsearch in Pivot Table
  • Connecting to Snowflake in Pivot Table
  • Server-Side Pivot Engine in Pivot Table

Conclusion

Thanks for reading! In this blog, we’ve explored the various options, benefits, and best practices for choosing the right data source for the Syncfusion Pivot Table, ensuring optimal performance and usability.

If you’re already a Syncfusion user, the latest version of Essential Studio is available on the License and Downloads page. We offer our new users a 30-day free trial to explore all our components’ features and capabilities.

If you need further assistance, contact us via our support forum, support portal, or feedback portal. We’re always here to help you!

Related blogs

  • Easily Group Data into Ranges in Web Applications Using Pivot Table
  • Optimize Memory Management in JavaScript Pivot Table: Best Practices and Tips
  • Easily Perform CRUD Actions in Blazor Pivot Table with SQL Database & Entity Framework
  • Efficient Report Management: Save and Load Reports in Vue Pivot Table with SQL Server and Node.js Express Server

위 내용은 성능 최적화: 피벗 테이블에 가장 적합한 데이터 소스 선택의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.