[ceph-users] will open() system call block on Ceph ?

2014-05-26 Thread Nulik Nol
Hi, I am developing an application in C and it opens, reads, writes
and closes many files, kind of like a custom database. I am using
Linux's io_submit() system call, so all the read()/write() operations
are asynchronous. But I don't know about the open() system call, so I
have the following questions to the group:

1) Will the open() block if Ceph's cluster goes off line completely ?
I understand the write() or read() will, but I am not worried because
it is done with io_submit(), no locking will occur in my application.
2) Will I experience some delay during the execution of open() system
call even if it is called with O_NONBLIOCK flag and Ceph's cluster
working without failures ?

Thanks in advance
Nulik
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


[ceph-users] Designing an application with Ceph

2013-08-13 Thread Nulik Nol
Hi,
I am planning to use Ceph as a database storage for a webmail
client/server application, and I am thinking to store the data as
key/value pair instead of using any RDBMSs, for speed. The webmail
will manage companies, and each company will have many users, users
will end/receive emails and store them in their inboxes, kind of like
Gmail, but per company. The server will be developed in C, client code
in HTML/Javascript and binary client (standalone app) in C++
So, my question is, how would you recommend me to design the backend ?

I have thought of these choices:

1. Use Ceph as filesystem and BerkeleyDB as the database engine.
Berekley DB uses 2 files per table, so I will have 1 directory per
company and a 2 files per each table, I think there will be no more
than 20 tables in my whole app. Ceph will be used here as a remote
filesystem where BerkeleyDB will do all the data organization. The
RADOS interface of Ceph (to store key/pair values) will be not used,
since Berkeley DB will write and read to the OSDs directly and
Berkeley DB is a key/value pair database. But I have never used a DB
one a remote filesystem not sure if it will work well. Advantages of
this architecture: quick  easy.
Disadvantages: lower performance (overhead in CephFS and BerkeleyDB),
also I will not be able to write plugins for RADOS in C++ to combine
many data modifications in a single call to the server.

2. Use librados C api and write all the 'queries' hardcoded in C
specifically for the
application. Since the application is pretty standard and is not
supposed to change
much, I can do this. I would create a RADOS object for each
application object (like for example 'user' record, 'email' record,
'chat message' record, etc...).
Advantages: high performance. Disadvantages: a bit more to code ,
specially the data search functions.

I am interested in performance, so I am thinking to go for the option
2, what do you think? Can RADOS fully replace a database engine ? (I
mean, NoSQL engine, like Berkeley for example)

Will appreciate very much your comments.
TIA
Nulik
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


Re: [ceph-users] minimum object size in ceph

2013-08-07 Thread Nulik Nol
thanks Dan,
i meant like PRIMARY KEY in a RDBMS, or Key for NoSQL (key-value pair)
database to perform put() get() operations. Well, if it is string then
it's ok, I can print binary keys in HEX or uuencode or something like
that.
Is there a limit on maximum string length for object name?

Regards
Nulik

On Tue, Aug 6, 2013 at 4:08 PM, Dan Mick dan.m...@inktank.com wrote:
 No minumum object size.  As for key, not sure what you mean; the closest
 thing to an object 'key' is its name, but it's obvious from routines like
 rados_read() and rados_write() that that's a const char *.  Did you mean
 some other key?


 On 08/06/2013 12:13 PM, Nulik Nol wrote:

 Hi,

 when using the C api (RADOS) what is the minimum object size ? And
 what is the key type ? (uint64_t, char[], or something like that ?)

 TIA
 Nulik
 ___
 ceph-users mailing list
 ceph-users@lists.ceph.com
 http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


 --
 Dan Mick, Filesystem Engineering
 Inktank Storage, Inc.   http://inktank.com
 Ceph docs: http://ceph.com/docs
 ___
 ceph-users mailing list
 ceph-users@lists.ceph.com
 http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


[ceph-users] minimum object size in ceph

2013-08-06 Thread Nulik Nol
Hi,

when using the C api (RADOS) what is the minimum object size ? And
what is the key type ? (uint64_t, char[], or something like that ?)

TIA
Nulik
___
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com