J
james
General Issue: I need to create some data classes/structs that can be
used efficiently with both limited memory use as well as good search
capabilities.
Details: I'm working on a C# VSTO add-in, and part of its tasks is to
match dimensions betyween OLAP cubes. I'm collecting all the
dimension members as List<CubeInfo>, and then adding that
List<CubeInfo> to CubeDimensions. The end result will need to match
the members of the lists and return them in a different structure. It
works fine from a functional perspective, but it eats memory, since
the members can number from 5 to 800,000, and there are approx. 20
dimesions.
Question: What data structures can I employ that would have a limited
memory footprint, as well as provide good search capabilities on
millions of 'rows'
Additonal: I've considered hashtables, as well as storing the
information in a SQL Db, since that will provide native matching
capabilities.
Exiting Data structures:
[Serializable]
public class CubeInfo
{
public string DimensionType;
public string UniqueName;
public string Name;
}
[Serializable]
public class CubeDimensions
{
public string DimenstionName;
public List<CubeInfo> DimenstionData = new List<CubeInfo> { };
}
used efficiently with both limited memory use as well as good search
capabilities.
Details: I'm working on a C# VSTO add-in, and part of its tasks is to
match dimensions betyween OLAP cubes. I'm collecting all the
dimension members as List<CubeInfo>, and then adding that
List<CubeInfo> to CubeDimensions. The end result will need to match
the members of the lists and return them in a different structure. It
works fine from a functional perspective, but it eats memory, since
the members can number from 5 to 800,000, and there are approx. 20
dimesions.
Question: What data structures can I employ that would have a limited
memory footprint, as well as provide good search capabilities on
millions of 'rows'
Additonal: I've considered hashtables, as well as storing the
information in a SQL Db, since that will provide native matching
capabilities.
Exiting Data structures:
[Serializable]
public class CubeInfo
{
public string DimensionType;
public string UniqueName;
public string Name;
}
[Serializable]
public class CubeDimensions
{
public string DimenstionName;
public List<CubeInfo> DimenstionData = new List<CubeInfo> { };
}