09-06-2012
It is good to know relational databases, generally, and SQL, and simpler C/C++/JAVA APIs, before diving into the combination. The APIs are more orderly in C++/JAVA, while C APIs run on assumptions and man pages. Starting with a simple API to learn C/C++/JAVA is a good start, before going into complex APIs.
Generally, gdbm allows you to create container objects with hash based search. Ther are many different container types. They all act much like a RDBMS table with one index only. You can index data a second way by creating a second, indexing container to search using a different key. Data storage can be by pointer outside the containers, so two containers can point to the same row or tuple of data. However, you need reverse pointers in the data so a delete on one key can delete in the other container, too.
Besides hash, which is great for fast random lookup but requires some configuration for size, there is linear-hash, tree, unsorted, array, linked-list (one way or forward-backward) containers, each with different advantages. Trees are always sorted and tolerate all amounts of data well without configuration. Unsorted linked list is very fast to insert and slow to query, update, delete specific item. Hash has a patterened disorder when examining all items.
This User Gave Thanks to DGPickett For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Can Anyone suggest few good books on Unix Shell Programming and C on Unix.
Thanks
Prasad (5 Replies)
Discussion started by: pswar70
5 Replies
2. Shell Programming and Scripting
Anyone know any good website with a step by step instructions on writing Perl GUI scripts with Tk ??? (3 Replies)
Discussion started by: perleo
3 Replies
3. Shell Programming and Scripting
Hello,
I have several handreds of text files. The format of file looks like:
column1 column2 column3 column4 column5
id1 definition1 name1 fieldid comm1
id2 definition2 name2 fieldid ... (4 Replies)
Discussion started by: ssshen
4 Replies
4. IP Networking
I was trying to write proxy code but i here is a problem
typedef struct req_msg
{
char *host;//hostname
char *filename;//filename
char *modified;//date
char *data;
char *request;
}req_msg;
while(take_responce(req,request)!=0)
// take_responce gets responce from http server
//... (0 Replies)
Discussion started by: yogesh_powar
0 Replies
5. Shell Programming and Scripting
Can anybody please suggest me a good book to learn PHP and Apache. I want to use it for general programming and espeacially as front end tool for INFORMIX RDBMS. The book should guide me from the basics, as I am a beginer for PHP & Apache on SUSE Linux 9.0. (1 Reply)
Discussion started by: V.V.KUMAR
1 Replies
6. UNIX for Dummies Questions & Answers
I'm trying to install gdbm on a MacPro running Leopard. But when I do the make install, I get this error:
/usr/bin/install -c -m 644 -o root -g root gdbm.h \
/usr/include/gdbm.h
install: root: Invalid argument
make: *** Error 67
Any ideas?
Thanks (1 Reply)
Discussion started by: Shan Hollen
1 Replies
7. AIX
can someone tell me the name of the books for aix
it is better if some one provide me links to any useful document (2 Replies)
Discussion started by: alokjyotibal
2 Replies
8. Shell Programming and Scripting
Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP.
I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Discussion started by: lowmaster
0 Replies
9. Web Development
A number of people have asked me how to get started with Vue.js and my reply before today was to Google "Vue.js". That has changed and my recommendation to anyone who wants to learn the fastest growing, easiest to learn and use Vue.js web dev framework is to watch this video tutorial series:
... (0 Replies)
Discussion started by: Neo
0 Replies
LEARN ABOUT ULTRIX
systemd-nspawn
SYSTEMD-NSPAWN(1) systemd-nspawn SYSTEMD-NSPAWN(1)
NAME
systemd-nspawn - Spawn a namespace container for debugging, testing and building
SYNOPSIS
systemd-nspawn [OPTIONS...] [COMMAND] [ARGS...]
DESCRIPTION
systemd-nspawn may be used to run a command or OS in a light-weight namespace container. In many ways it is similar to chroot(1), but more
powerful since it fully virtualizes the file system hierarchy, as well as the process tree, the various IPC subsystems and the host and
domain name.
systemd-nspawn limits access to various kernel interfaces in the container to read-only, such as /sys, /proc/sys or /sys/fs/selinux.
Network interfaces and the system clock may not be changed from within the container. Device nodes may not be created. The host system
cannot be rebooted and kernel modules may not be loaded from within the container.
Note that even though these security precautions are taken systemd-nspawn is not suitable for secure container setups. Many of the security
features may be circumvented and are hence primarily useful to avoid accidental changes to the host system from the container. The intended
use of this program is debugging and testing as well as building of packages, distributions and software involved with boot and systems
management.
In contrast to chroot(1) systemd-nspawn may be used to boot full Linux-based operating systems in a container.
Use a tool like debootstrap(8) or mock(1) to set up an OS directory tree suitable as file system hierarchy for systemd-nspawn containers.
Note that systemd-nspawn will mount file systems private to the container to /dev, /run and similar. These will not be visible outside of
the container, and their contents will be lost when the container exits.
Note that running two systemd-nspawn containers from the same directory tree will not make processes in them see each other. The PID
namespace separation of the two containers is complete and the containers will share very few runtime objects except for the underlying
file system.
OPTIONS
If no arguments are passed the container is set up and a shell started in it, otherwise the passed command and arguments are executed in
it. The following options are understood:
--help, -h
Prints a short help text and exits.
--directory=, -D
Directory to use as file system root for the namespace container. If omitted the current directory will be used.
--user=, -u
Run the command under specified user, create home directory and cd into it. As rest of systemd-nspawn, this is not the security feature
and limits against accidental changes only.
--private-network
Turn off networking in the container. This makes all network interfaces unavailable in the container, with the exception of the
loopback device.
EXAMPLE 1
# debootstrap --arch=amd64 unstable debian-tree/
# systemd-nspawn -D debian-tree/
This installs a minimal Debian unstable distribution into the directory debian-tree/ and then spawns a shell in a namespace container in
it.
EXAMPLE 2
# mock --init
# systemd-nspawn -D /var/lib/mock/fedora-rawhide-x86_64/root/ /sbin/init systemd.log_level=debug
This installs a minimal Fedora distribution into a subdirectory of /var/lib/mock/ and then boots an OS in a namespace container in it, with
systemd as init system, configured for debug logging.
EXIT STATUS
The exit code of the program executed in the container is returned.
SEE ALSO
systemd(1), chroot(1), debootstrap(8), mock(1)
AUTHOR
Lennart Poettering <lennart@poettering.net>
Developer
systemd 10/07/2013 SYSTEMD-NSPAWN(1)