Domain name registration charges are yearly or a one time affair? And how long does it take? I want to register a domain name for my personal site.
Usually the charges are yearly, but you can pay for years in advance.
Average costs are around USD10 per year.
Most registrars will allow you to register instantly for .com, .net and most other domains, and you can setup and manage the domain immediately, changing DNS records to point to your site. Normally this means that the site will be visible on your URL in a matter of hours.
For some Top Level Domains -- such as .th -- the registration process may take longer, as there may be conditions requiring documentation -- for example that you need to have a business registered using that name or derivative.