Fácil de usar BerkeleyDB base de datos integrada

documentación de la base de datos web oficial: el Oracle Berkeley DB

métodos de acceso a la base de datos explicación
btree método de acceso btree es lograr una estructura de árbol equilibrada por el estilo. Árbol de búsqueda, inserción y eliminación requieren un tiempo O (altura), donde la altura es Btree de la raíz a la página capas de hojas. El límite superior de la altura es base_b log N, que es el número mínimo de página teclas base_b, y N es el número total de claves almacenadas. El trastorno puede causar datos en Btree sólo la mitad de una página. DB de modo ordenado (o el orden inverso) se inserta en el mejor de los casos, lo que resulta en la utilización del espacio página casi lleno.
Picadillo El método de acceso a la estructura de datos de hash se implementa hash lineal extendida, como se describe en "Linear Hash: nuevas herramientas para hacer frente a las tablas y archivos"
Montón registros del método de acceso de montón se almacenan en pilas de papeles. Referenciado solamente por la grabación y desplazamiento de página se escribe de la misma. Debido a que el registro se escribe en pilas de papeles, así que no hay compresión cuando la eliminación de registros, que pueden ser un uso más eficiente del espacio que Btree. Montón método de acceso es adecuado para la plataforma limitado espacio disponible en disco, especialmente en el caso de esos sistemas están realizando un gran número de registros para crear y operaciones de borrado.
Cola método de acceso de almacenamiento de cola que tiene un número de registro lógico de registro de longitud fija como la clave. Está diseñado para insertar rápidamente la cola, y tiene una operación especial del cursor consumo que quita de la cabeza de registro de la cola y vuelve. método de acceso cola mediante el bloqueo por registros
RECN método de acceso regnum al número de registros lógicos como una longitud de almacén de claves fijo y registros de longitud variable, y, opcionalmente, con el apoyo de texto plano (flujo de bytes) de archivos.

Seleccione los métodos de acceso

En última instancia, sólo se puede método de acceso para determinar cuál es el adecuado para su aplicación utilizando dos métodos de acceso de las pruebas de rendimiento. Para ser eficaz, esta prueba de rendimiento se debe utilizar con considerables cargas de trabajo de producción.
En otras palabras, en algún momento que es absolutamente necesario utilizar Btree:

  • Si desea utilizar las operaciones de colocación a granel y de adquisición.

  • Si la orden de bases de datos tipo cluster es importante para usted.

  • Si desea poder utilizar el cursor para crear un registro.

  • Si tiene varios hilos / procesos son la creación de un nuevo registro, y quieren ser capaces de utilizar con eficacia el cursor para atravesar estos registros.

Sin embargo, además de estas limitaciones, hay algunas aplicaciones características pueden hacer que se sospecha montón para su aplicación mejor que Btree. Ellos son:

  • Su aplicación se ejecutará en un entorno con recursos limitados, y que desea establecer un límite duro en el tamaño del archivo de base de datos.

  • Quiere limitar el crecimiento de espacio en disco para los archivos de base de datos y su aplicación realiza aproximadamente el mismo número de registros de la creación y eliminación.

btree necesidad de insertarse en el nuevo registro en ordenados a la página correcta. Esta operación puede tener que leer varias páginas. Montón de base de datos puede simplemente volver a utilizar cualquier página de espacio en blanco que se puede encontrar en la caché. Insertar aplicaciones intensivas menudo se encuentra mucho más de Btree Montón de alta eficiencia, especialmente con el aumento del tamaño de la base de datos.

En ausencia de información sobre la aplicación y de acceso a datos patrones de un caso, para un conjunto pequeño de datos, o un método de acceso Btree Hash es suficiente. Para mayores que los datos almacenados en caché por lo general se recomienda el método de acceso Btree. Si tiene unas muy grandes de datos, el método de acceso de hash podría ser una mejor elección. La utilidad db_stat está monitoreando la memoria caché es una herramienta útil para la forma de ponerla en práctica.

El código de ejemplo


            
            HashDatabaseConfig bTreeDatabaseConfig = new HashDatabaseConfig();
            //文件不存在则创建
            bTreeDatabaseConfig.Creation = CreatePolicy.IF_NEEDED;
            //页大小
            bTreeDatabaseConfig.PageSize = 512;
            //缓存大小
            bTreeDatabaseConfig.CacheSize = new CacheInfo(0, 64 * 1024, 1);
            //hash 类型的数据库
            HashDatabase bTreeDatabase = HashDatabase.Open("file.db", bTreeDatabaseConfig);
            string content = "HelloWorld";
            DatabaseEntry key = new DatabaseEntry(BitConverter.GetBytes(12));
            DatabaseEntry value = new DatabaseEntry(Encoding.ASCII.GetBytes(content));
            bTreeDatabase.Put(key, value);
            Console.WriteLine("写入成功");
            KeyValuePair<DatabaseEntry, DatabaseEntry> pair = bTreeDatabase.Get(key);
            Console.WriteLine("读取写入");
            Console.WriteLine(Encoding.ASCII.GetString(pair.Value.Data));
            bTreeDatabase.Close();

Requerido biblioteca descarga aquí biblioteca DLL dotnet, el otro puede ir a la página web oficial para descargar, compilar usted mismo.

Supongo que te gusta

Origin www.cnblogs.com/panyan/p/12417047.html
Recomendado
Clasificación